von subjective |
Die Frage ist Berechtigt, sicher, allerdings ist .htaccess nur eine Lösung von drei.
1.) Außerhalb des Document-Root - Webserver liefert nicht mehr aus
2.) Endung .php - Webserver liefert Ausgabe der Datei aus, die sie nur Variablendefinition enthält gibt es keine Ausgabe - also wird nichts (leerer Text) ausgeliefert.
3.) .htaccess - Man kann mit speziellen Anweisungen in der .htaccess dem Webserver sagen das er die Datei bzw. Dateien in einem Verzeichnis nicht ausliefern soll. Alternativ könnte er beim Aufruf eienr bestimmten URL auf eine andere weiterleiten.
In allen drei Fällen ist nur der Abruf über den Webserver betroffen. Lokal ist die Datei normal verwendbar. Bei einem include() über http, bekommt PHP die gleichen Daten, welche auch ein Webbrowser bekommen würde, also die Ausgabe des PHP-Scriptes oder die Weiterleitung, da dies ein normaler Abruf über den Webserver ist.
Ein solches include() ist in 99,99999% der Fälle kompletter Unsinn und gefährlich - in den meisten Fällen läßt es sich direkt durch readfile() ersetzen, in anderen sollte man ein Datenaustauschformat (z.B. XML) verwenden. |
von no_comment |
omg, das schmerzt wenn ich so etwas lese.
Die Frage nach einem sicheren Zugriffsschutz vor externen Zugriffen von PHP- bzw. Config-Dateien ist durchaus berechtigt.
Mein Artikel .htaccess: Sicher ist besser hat daher einige Lösungen aufgeführt, die auch dir weiterhelfen sollten.
Gruß,
no_comment |
von inko |
Bastian_W schrieb am 25.06.2003 09:08
Ja... aber das Script kann dann nicht drauf zugreifen, weil das pass fehlt , und so kann die Datenbank dann nicht ausgewählt werden. |
Wie benutzt Du denn include ? Etwa mit http oder wie.
htaccess greift doch nur bei Anfragen die den Webserver betreffen und nicht wenn man absolute Verzeichnisfunktionen benutzt. |
von Philipp Gérard |
stimmt.
1:
2: | if($open_file == 1){ chmod("config/config.php",0777); }
if($close_file == 1){ chmod("config/config.php",0555); } |
klappt das? |
von michaelh |
Vielleicht mit chmod die Zugriffsrechte entfernen? Du könntest ein Scipt schreiben, das die Zugriffsrecht setzt wenn deine HP die Datei braucht und diese nach der Benutzung wieder entfernt. |
|