php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.05.2007, 14:15  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard __construct ähnliches im Filesystem

Hallo, ich habe ein Problem, ich möchte eine kleine datei schreiben, die in jede datei, die in dem ordner liegt zu anfang "eingeschoben" werden soll,
ich möchte die datei nicht in jeder datei einzelnt includen....

... wie bei einer class das schlüsselwort __construct, nur eben als include ...

ich habe schon überlegt via mod_rewrite das ganze so zu lenken, dass es duch diese datei durch geht, also aus ****.de/irgendwas.php würde er dann file.php?file=irgendwas.php machen,

gibt es eine php alternative?
notyyy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.05.2007, 14:20  
Benutzer
 
Registriert seit: 15.05.2007
Beiträge: 35
Wing ist zur Zeit noch ein unbeschriebenes Blatt
Wing eine Nachricht über ICQ schicken
Standard

nimm eine index.php

die wird jedesmal aufgerufen und macht nichts anderes als
<?php
include 'deine kleine datei';
include 'die datei die vorher immer angefordert wurde;
?>

mfg
Wing ist offline  
Alt 15.05.2007, 14:31  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

nein, =)

die index datei wird ja nicht aufgerufen, wenn ich eine andere datei direkt aufrufe ... =)
notyyy ist offline  
Alt 15.05.2007, 14:33  
Benutzer
 
Registriert seit: 15.05.2007
Beiträge: 35
Wing ist zur Zeit noch ein unbeschriebenes Blatt
Wing eine Nachricht über ICQ schicken
Standard

Du sollst eine neue Datei machen, die jedesmal aufgerufen wird. Sozusagen eine Zwischenstation.
Wing ist offline  
Alt 15.05.2007, 14:42  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

ja sicher, aber wenn in die

****.de/index.php

anlege, dann hat das nix mit der

*****.de/content.php zutun,

die links und etc werden vom system gegeben, so kann ich nur eine "automatische" brücke nehmen, nicht jedesmal über eine datei gehen ...
notyyy ist offline  
Alt 15.05.2007, 14:46  
Benutzer
 
Registriert seit: 15.05.2007
Beiträge: 35
Wing ist zur Zeit noch ein unbeschriebenes Blatt
Wing eine Nachricht über ICQ schicken
Standard

Wie werden denn deine Dateien angesprochen? Direkt oder über eine index.php?

Wenn du die datei direkt über "http://....de/bla/blub.php" ansprichst, wirst du größere Änderungen mit meiner Lösung machen müssen.

Wenn du sowieso indirekt über "http://....de/index.php?seite=blub" deine Seiten ansprichst, musst du einfach deine switch()-Abfrage in die Datei verschieben, die ich dir eben gesagt hab.
Wing ist offline  
Alt 15.05.2007, 14:51  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

nein, ich möchte das direkt aufrufen unmöglich machen, es muss an dieser datei vorbei =)

möglichst ohne mod_rewrite

die datei soll gewisse sicherheitsprobleme lösen wie z.b. register globals auf off symolieren, rechte im system überprüfen und gegen XSS vorbeugen ....
notyyy ist offline  
Alt 15.05.2007, 14:56  
Benutzer
 
Registriert seit: 15.05.2007
Beiträge: 35
Wing ist zur Zeit noch ein unbeschriebenes Blatt
Wing eine Nachricht über ICQ schicken
Standard

direkt aufrufen unmöglich machen? Keine Ahnung wie das geht. Aber dann wirst du nicht drum rum kommen eine index.php zu verwenden.

http://de.php.net/manual/de/control-...res.switch.php

Für jede Seite nimmst du am Besten den Dateiname ohne die .php-Endung und generierst solche Links: index.php?seite=main usw.

Die Switch-abfrage kommt in die index.php und mit ihr prüfst du die Werte ab und includest jeweils die Dateien, die du brauchst. Die register globals kannst du am Anfang der index auf off stellen.
Wing ist offline  
Alt 15.05.2007, 14:59  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.038
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

irgendwie muss das gehen, über eine index.php zu gehen wäre dumm, da in der direkt aufgerufenen datei dann die sicherheitslücken nicht geschlossen werden =)

da käme dann meine mod_rewrite methode (siehe oben) zum einsatz,
wobei ich gerne daraus verzichten würde, da es nicht überall funktioniert und demnach nicht in einem cms nutzbar wäre ...
notyyy ist offline  
Alt 15.05.2007, 15:06  
Benutzer
 
Registriert seit: 15.05.2007
Beiträge: 35
Wing ist zur Zeit noch ein unbeschriebenes Blatt
Wing eine Nachricht über ICQ schicken
Standard

Von welchen Sicherheitslücken redest du denn genau? Wenn es darum geht, ob ein Benutzer eine bestimmte Seite sehen darf oder nicht, dann hab ich da auch eine gute Methode.

Füg in die index.php eine Funktion ein, mit der du die Userdaten mit der Datenbank abgleichst und die jeweils $eingeloggt = 1; oder $eingeloggt = 0; zurückgibt. Diese Funktion nenn ich immer check();

Jetzt kannst du in jeder Datei einfach
<?php
if ($eingeloggt == 0) {
die();
}
// ....
?>
einbauen.
Wing ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
von lokalem Filesystem lesen PHP-Fortgeschrittene 4 26.07.2005 13:25
Link im Gästebuch leitet auf Filesystem um. Wie kann man das PHP Tipps 2004 6 06.08.2004 18:25


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.