Sicherheitslücke: htaccess wird übergangen

Hallo,
ich habe ein Parser.php Script, welches meine HTml- Seiten interpretiert. Übergeben wird dem Script einfach die Adresse zu der HTML-Seite.

Problem ist, das HTML-Seiten, welche mit .htaccess geschützt sind trotzdem angezeigt werden.

Beispiel:
www.xyz.de/parser.php?file?/geheim/passwortliste.htm
Die Datei passwortliste.htm ist zwar in einem geschützten Verzeichnis parser.php jedoch nicht.

Das Login - Fenster wird zwar eingeblendet, aber wenn ich auf Abruch klicke wird der Inhalt trotzdem angezeigt.

Wie könnte ich das unterbinden ? Oder wie müsste ich das parser.php umschreiben ?

Danke fürt Tips

Sebastian

Hallo,
ich habe ein Parser.php Script, welches meine HTml- Seiten
interpretiert. Übergeben wird dem Script einfach die Adresse
zu der HTML-Seite.

Problem ist, das HTML-Seiten, welche mit .htaccess geschützt
sind trotzdem angezeigt werden.

Beispiel:
www.xyz.de/parser.php?file?/geheim/passwortliste.htm
Die Datei passwortliste.htm ist zwar in einem geschützten
Verzeichnis parser.php jedoch nicht.

Das Login - Fenster wird zwar eingeblendet, aber wenn ich auf
Abruch klicke wird der Inhalt trotzdem angezeigt.

Wie könnte ich das unterbinden ? Oder wie müsste ich das
parser.php umschreiben ?

Hallo Sebastian,

das ist ganz normal, denn .htaccess schützt ja nur dann wenn der BROWSER die Seiten aufruft. Statt dessen ruft ja dein SCRIPT die Seiten auf, und das hat normalerweise immer vollen Zugriff auf die Verzeichnisse.

Wenn Du die Seiten sowieso mit PHP anzeigen willst, kannst Du Dir den ganzen Umstand mit .htaccess auch sparen. Verwende in PHP das Session-Model

http://de.php.net/manual/de/ref.session.php

Damit brauchst Du nur ein Abfrage-Skript bei dem Du dann eine Session-Variable (z.B. $login_ok) auf true setzt und diese kannst Du dann in den Folgeseiten einfach abfragen.

Beispiele für sowas gibt es z.B. hier:
http://www.phpbuilder.com/columns/musone19990927.php3
(zur Zeit nicht erreichbar)

oder hier:
http://www.zend.com/zend/spotlight/sessionauth7may.php

-) Marian

Hi,

das ist ganz normal, denn .htaccess schützt ja nur dann wenn
der BROWSER die Seiten aufruft.

nicht Browser, sondern HTTP-Client. Das kann auch ein PHP-Script sein, wenn es über HTTP die Daten anfordert - für den Server ist das exakt gar kein Unterschied.

Statt dessen ruft ja dein
SCRIPT die Seiten auf, und das hat normalerweise immer vollen
Zugriff auf die Verzeichnisse.

Wenn es auf _Dateien_ zugreift, geht es nicht über den Server; und nur dieser beachtet seine Konfigurationsdateien. Ich nehme an, das wolltest Du sagen :smile:

Cheatah

nicht Browser, sondern HTTP-Client.

Wenn es auf _Dateien_ zugreift

Danke für die Korrektur. Ich glaube zwar das meine Antwort schon ganz verständlich war, aber so ist es natürlich 100%ig korrekt

-) Marian