Verzeichnis schützen
sirmark
- browser
Hallo!
Habe gerade ein Projekt fertiggestellt. Aus zwei Unterordnern ziehe ich zum Einen Images, aus dem anderen PHP-Module. Beide Ordner sollen eigentlich nicht mit dem Browser erreichbar sein. Welches ist wohl der bessere Weg: .htaccess oder ein chmod im jeweiligen Ordner? Bei chmod, welche Rechte würdet ihr dem Ordner geben?
Gruß
Moin Moin !
.htaccess. Mit chmod kannst Du nur Deinen Webserver aussperren. Der Browser sieht ohnehin nur Resourcen, keine Ordner. HTTP ist nicht FTP.
Alexander
Ich weiss, es ist nicht gerade Eure Art, einen Syntax jemanden zu verraten, doch mit etwas nicht ganz klar. Aufgrund Eurer Hinweise möchte ich das Anzeigen des Verzeichnisses via .htaccess und Option/Indexes verhindern. Nur wie? Schreibe ich einfach in eine .htaccess "Option Indexes None" rein oder was? So ganz ist mir die Handhabung nicht klar ...
Noch eine zweite Frage: Glücklicherweise habe ich Rootzugriff auf den Webserver: In welches Verzeichnis soll ich meine PHP-Module ablegen, damit sie nicht per http erreichbar sind? Habt Ihr da einen Tipp?
Gruß und danke!
Hi sirmark,
Schreibe ich einfach in eine .htaccess "Option Indexes None" rein oder was?
was genau an http://httpd.apache.org/docs/mod/core.html#options ist Dir nicht klar?
In welches Verzeichnis soll ich meine PHP-Module ablegen, damit sie nicht per http erreichbar sind?
In eines, auf welches kein URL abgebildet wird.
Viele Grüße
Michael
Danke Michael, aber das sind genau die Antworten, die ich in diesem Forum so liebe!
Das war´s wohl ...
Hi sirmark,
Schreibe ich einfach in eine .htaccess "Option Indexes None" rein oder was?
was genau an http://httpd.apache.org/docs/mod/core.html#options ist Dir nicht klar?
In welches Verzeichnis soll ich meine PHP-Module ablegen, damit sie nicht per http erreichbar sind?
In eines, auf welches kein URL abgebildet wird.
Viele Grüße
Michael
Hallo,
was genau an http://httpd.apache.org/docs/mod/core.html#options ist Dir nicht klar?
Danke Michael, aber das sind genau die Antworten, die ich in diesem Forum so liebe!
Ich hoffe, dass du schon verstehst, dass wir dir hier nicht alles vorkauen wollen. Ein bisschen selbermachen ist schon angesagt. Wenn du dich mit der Doku zur options directive beschäftigt hättest, dann wäre deine Frage sicher gezielter ausgefallen.
Und du musst schon zugeben, dass die Doku nicht schwer zu verstehen ist, oder:
"option can be set to None, in which case none of the extra features are enabled, or one or more of the following:
[...]
Normally, if multiple Options could apply to a directory, then the most specific one is taken complete; the options are not merged. However if all the options on the Options directive are preceded by a + or - symbol, the options are merged. Any options preceded by a + are added to the options currently in force, and any options preceded by a - are removed from the options currently in force."
Wenn du an diesem Text etwas nicht versthest, dann sag doch bitte einfach _genau_ Bescheid, wo dein Verständnisproblem liegt. Dann wird man dir auch gerne weiterhelfen.
Aber wenn dein Verhalten den anderen nicht zeigt, dass du es zumindest selbst probiert hast, dann musst du eben mit solchen Antworten wie der von Michael rechnen. Und seine Antwort war wirklich nicht unfreundlich.
Viele Grüße,
Stefan
Hi sirmark,
Danke Michael, aber das sind genau die Antworten, die ich in diesem Forum so liebe!
gern geschehen. Ich helfe, wo ich kann.
Viele Grüße
Michael
Hi sirmark,
Aus zwei Unterordnern ziehe ich zum Einen Images
... wer "zieht"? Dein Programm mit Dateizugriff, oder der Browser mit HTTP-Zugriff?
aus dem anderen PHP-Module.
Das ist sehr wahrscheinlich Dateizugriff.
Dann jedoch haben diese Module nichts innerhalb des URL-Space verloren.
Beide Ordner sollen eigentlich nicht mit dem Browser erreichbar sein.
Wenn im ersten Fall der Browser die Bilder saugt, dann muß der Ordner für HTTP-Zugriffe erreichbar sein. Meinst Du vielleicht, es soll kein Directory Browsing möglich sein? Dann schalte es ab.
Welches ist wohl der bessere Weg: .htaccess
In keinem Fall. HTTP Authentication ist dafür gedacht, eingeschränkten Zugriff zu geben, nicht aber, diesen komplett zu verbieten.
oder ein chmod im jeweiligen Ordner?
Das führt zu internen Serverfehlern bei entsprechenden Zugriffen. Willst Du Dein error_log mit solchen Meldungen füllen lassen?
Viele Grüße
Michael
Hallo Michael!
Dein Posting hat mich jetzt nicht wirklich weitergebracht. Beim ersten Unterordner handelt es sich um einen Images-Ordner, aus dem der Browser Image-Dateien ziehen muss. Hier möchte ich einfach nur, dass nicht diese Dateiübersicht erscheint, da keine index.htm in diesem Ordner ist. Dachte hier an .htaccess mit Umleitung zur index.php im root.
Module-Ordner: die index.php zieht aus diesem Ordner mit include seine Module. Ja wo soll ich mit dem Ordner hin? Ein Normaluser hat nur Zugriff auf den URl-Space ... oder irre ich mich?
Zudem liegt in diesem Ordner das MySQL-Passwort. Mir wäre da schon daran gelegen, dass das nicht jemand sieht (beispielsweise durch ausprobieren der Ordner. Wäre da nicht das Recht, dass nur noch der Eigentümer Zugriff hat, eine Lösung?
Hallo,
Beim ersten Unterordner handelt es sich um einen Images-Ordner, aus dem der Browser Image-Dateien ziehen muss. Hier möchte ich einfach nur, dass nicht diese Dateiübersicht erscheint
http://httpd.apache.org/docs/mod/core.html#options und dort vor allem nach Indexes schauen.
Module-Ordner: die index.php zieht aus diesem Ordner mit include seine Module. Ja wo soll ich mit dem Ordner hin? Ein Normaluser hat nur Zugriff auf den URl-Space ... oder irre ich mich?
Falls du keine andere Möglichkeit hast, als diese Module in einem Verzeichnis abzulegen, auf welches auch der Webserver Zugriff hat, dann sperre diesen über eine .htaccess Datei aus.
http://httpd.apache.org/docs/mod/mod_access.html#deny
Viele Grüße,
Stefan
Hi sirmark,
Beim ersten Unterordner handelt es sich um einen Images-Ordner, aus dem der Browser Image-Dateien ziehen muss. Hier möchte ich einfach nur, dass nicht diese Dateiübersicht erscheint, da keine index.htm in diesem Ordner ist.
dann schalte diese Dateiübersichtsfunktion ab.
Dachte hier an .htaccess mit Umleitung zur index.php im root.
Eine Fehlermeldung auszugeben ist weniger Last für den Server als eine Umleitung.
Module-Ordner: die index.php zieht aus diesem Ordner mit include seine Module. Ja wo soll ich mit dem Ordner hin? Ein Normaluser hat nur Zugriff auf den URl-Space ... oder irre ich mich?
Es gibt auch funktionsfähige Web-Angebote.
Wenn Deines keinen Speicherplatz außerhalb des DOCUMENT_ROOT hat, wechsele den Provider.
Zudem liegt in diesem Ordner das MySQL-Passwort.
Eben. Deshalb darf es gar nicht erst möglich sein, daß Dein PHP-Modul auch nur syntaktisch durch einen URL ansprechbar ist!
Stell Dir vor, Dein Provider macht einen Fingerfehler und schaltet versehentlich die Interpretation von .htaccess ab! Dann bist Du geplatzt. (Und das Self-Portal hat genau dies schon mal bei einem Provider am eigenen Leib erlebt ...)
Wäre da nicht das Recht, dass nur noch der Eigentümer Zugriff hat, eine Lösung?
"undenkbar" ist zuverlässiger als "durch einen Schutz verhindert".
Viele Grüße
Michael