Mailinglisten-Archive |
Hallo Lutz, Lutz Zetzsche wrote: > Am Mittwoch, 26. Juli 2006 10:33 schrieb Lutz Zetzsche: >> Am Mittwoch, 26. Juli 2006 10:26 schrieb Martin Adler: >>> Wenn der Apache falsch Konfiguriert ist, so dass der Quellcode >>> ausgegeben wird statt ausgeführt, dann hindert mich nichts daran >>> den Pfad in Require/Include zu nehmen und dieses Skript aufzurufen >>> um den Quellcode zu sehen?! > > Ah, und noch was natürlich... Wenn eine Datei mit require bzw. include > eingebunden wird, die außerhalb von DOCUMENT_ROOT liegt, kommst Du > natürlich auch nicht an den Quelltext dran. > >> nicht ganz. :-) >> >> Ich habe z.B. meine Parser-Datei, auf die von mod_rewrite fast alle >> Seitenaufrufe umgebogen werden, unter /all/index.php liegen. Alleine >> schon wegen der Übersichtlichkeit meiner Anwendung. Trotzdem kommst >> Du an die Datei von außen nicht mit HTTP dran. Wer versucht, sie >> direkt aufzurufen, wird vom Server mit einem RedirectPermanent auf / >> umgeleitet. :-) >> >> Selbst wenn also aus irgendeinem Grund PHP-Code nicht interpretiert, >> sondern einfach ausliefert würde, käme man an den Quelltext dieser >> Datei nicht dran. ;-) >> >> Natürlich kam man Dateien auch noch anders vor HTTP-Zugriffen >> schützen, diese Lösung war aber in meinem Fall für mich die logisch >> richtige. sicher, aber das sollte extra erwähnt werden, denn die Verwendung einer zentralen verarbeiteten PHP Datei mit der Rewrite- oder ForceTyp- Methode schützt eben nicht vor unerwünschte direkte Zugriffen auf Includes. Hierzu sind wie _nun_ beschrieben weitere Vorkehrungen notwendig. Ich selbst verwende hierbei gerne .htacces Files mit *Deny from all*. Die beste Möglichkeit ist, Includes außerhalb des DocRoot abzulegen, was aber leider nicht auf jedem System möglich ist. viele Grüße Martin
php::bar PHP Wiki - Listenarchive