Die Konfiguration bietet eine Reihe Krücken, um dieses Problem zu umgehen, schau doch mal in die Anleitung: http://www.php.net/manual/de/configuration.php (safe_mode, doc_root, open_basedir). Es gibt dort, man höre und staune, sogar ein richtiges Kapitel zum Thema Sicherheit: http://www.php.net/manual/de/security.php.
safe_mode, doc_root und co helfen nichts gegen das Lesen auf Filesystem-Ebene.
Habe ich das behauptet? Und wo steht, daß das überhaupt eine Frage für Sven ist? Er hatte lediglich gefragt, was man dagegen tun kann, daß einzelne Leute per PHP (!) fremde Dateien auslesen. Und genau dagegen ist mit safe_mode & Co. ein Kraut gewachsen.
Bei Dateisystemzugriffen, die mit PHP-Funktionen durchgeführt werden, greifen diese Einstellungen sehr gut.
Es ging hier (zumindest momentan) nicht darum, daß er Benutzer hat, die per telnet-Zugang direkt auf den Rechner können oder per CGI eigene Programme starten. Somit ist die Aussage, daß safe_mode nicht gegen direkte Dateisystem-Zugriffe hilft zwar richtig, aber an dieser Stelle vollkommen irrelevant.
Das einzige hilfreiche ist, das PHP als CGI laufen zu lassen, denn dann kann man mit suxec die PHP-Files allein fuer den Owner lesbar machen, anstelle fuer global.
Aber PHP als CGI laufen zu lassen, waere ja ein Sakrelik :)
Klasse, dann muß man für jeden Seitenaufruf den PHP-Interpreter starten..
Und wenn ich das recht überblicke, sollte man CGI-Sachen doch nur in ein bestimmtes Verzeichnis packen, oder irre ich mich da? In der Modulversion kann man die Seiten wenigstens dahin legen, wo man sie gerne haben möchte.
Das Problem der Leute, auf die in der c't eingegangen wurde, war wohl hauptsächlich, daß sie die PHP-Anleitung nicht gelesen haben..
In der Doku von PHP steht genau zu dem Punkt, dass nur PHP ueber CGI in den Faellen bzgl Filesystem-Lesen hilft.
Siehe oben, diese Aussage ist hier momentan vollkommen unnötig.
Gruß,
soenk.e