Pfadproblem bei Verzeichnisschutz?

ThaHammer

Aktives Mitglied
Thread Starter
Dabei seit
01.06.2004
Beiträge
3.303
Reaktionspunkte
13
:confused:

ich habe was programmiert, so ein kleines Board für meine User. Jetzt hatte ich für das Verzeichnis den Verzeichnisschutz angeschalten, damit man sich einloggen muss. Die ganze zeit habe ich mich gewundert warum der nicht funktioniert. Heute teste ich den Aufruf ohne meine Seitenfunktion (Übergabe einer ID, auslesen aus einem Array), also direkt mit Verzeichnisname/Datei und siehe da das Login geht ja doch.
Mir fehlt grad jegliches Verständnis für den Sachverhalt, wahrscheinlich ist es noch zu früh heute?

Warum kommt das Login wenn ich den Ordner direkt aufrufe und er kommt nicht wenn ich den über das Array ansteuere?
Liegt das daran das das Array innerhalb einer Konfigdatei in einem anderen geschützen Ordner liegt?
 
Erkläre bitte genauer, was du mit "Array ansteuern" meinst und besser, wie dein Aufruf mit Paramtern exakt aussieht. (du kannst es ja so beschreiben, wie oben schon einmal).

Ins blaube geraten:
Wenn du eine Datei außerhalb des geschützten verzeichnisses aufrufst und diese Datei über bspw. php-includes auf die Dateien in deinem geschützten zugreift, ist der Schutz nutzlos.
 
Erkläre bitte genauer, was du mit "Array ansteuern" meinst und besser, wie dein Aufruf mit Paramtern exakt aussieht. (du kannst es ja so beschreiben, wie oben schon einmal).

Ins blaube geraten:
Wenn du eine Datei außerhalb des geschützten verzeichnisses aufrufst und diese Datei über bspw. php-includes auf die Dateien in deinem geschützten zugreift, ist der Schutz nutzlos.

Richtig getippt, genau das passiert.

Am Anfang kommt das Require der Konfigdatei aus dem einen Ordner.

Verarbeitet wird das hier. sid sind nur erlaubt, wenn sie auch in der Konfigdatei vorkommen.
Dazwischen gibt es noch ne Seitenschaltung, die ich hier nicht extra aufführe, die würde nur verwirren.

PHP:
// Welche Page wird aufgerufen?
		if(isset($_GET ['sid'])) $pid = $_GET ['sid'];
		
		if(isset($seid[$pid])) $pa = $seid[$pid];
		if(empty($pa)) {
			$pa = "start.php";
		}
		require($pa);
	?>

Aber Du hast mir die Antwort schon gegeben. Danke das war mir gar nicht klar. Aber irgendwie ist das ja doch auch logisch!
Danke für die sehr schnelle Lösung.
 
Zurück
Oben Unten