Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte
hier. Zur Startseite kommen Sie
hier.
Sicherheitsproblem
Hi,
meine Seite wurde gesperrt, da ich den Fehler gemacht hab wie in Unsichere PHP-Scripte ausgenutzt.
Die zweite dort beschriebene Lösung bassiert ja auf den Basename()-Befehl.
Wäre es auch sicher, wenn ich stattdessen den dirname()-Befehl nehme und überprüfe, ob der resultierende String mit hhtp:// beginnt? Würde das mein Provider akzeptieren?
Gruß
Antworten
Ein Verzeichnis beginnt wohl in den seltensten Fällen mit http://
2.
Auf .. und : überprüfen das sollte reichen.
3.
So?
include.php?file=../../../etc/passwd
4.
Ich meine eigentlich, dass wenn der String dann mit http:// beginnt, dann sollte ne fehklerseite kommen.
5.
mach eine Whitelist...
Das heisst schreib alle erlaubten Seiten in ein Array...
nachher mit in_array() checken und einbinden oder eben Fehlerausgabe ;)
6.
Wieso nimmst du nicht die basename-variante? Find die absolut praktikabel