Zugriffsschutz auf Ordner

mäks

Mitglied
Hallo ;)

Ich würde gerne wissen wie ich so ein Listing von den Ordnern auf dem Webserver verhindere.

Wenn ich jetzt in der Adresszeile keinen Dateinamen, also index.php, sondern nur einen Ordner angebe dann bekomme ich die Ausgabe siehe Anhang.

Meine Frage:

Ist das Directory Listing?
Wenn ja, wie verhindere ich dass und noch wichtiger:
Wie kann ich später Ordner vor unberechtigten Zugriff schützen, dass nur der "Maks" auf seinen Ordner zugreifen kann, wo er seine upgeloadeten Videos, Fotos usw findet?

Zum Hintergrund:

Jeder User bekommt eine Ordnerstruktur wo seine Videos, Fotos usw gespeichert werden die später auf seiner persönlichen Seite dargestellt und ausgegeben werden.
Ich will nicht dass dort jeder sein Unwesen treiben kann, sondern nur der "Besitzer".

Ich hoffe es ist halbwegs verständlich formuliert.


vielen Dank


lg Maks
 

Anhänge

  • index.jpg
    index.jpg
    20,8 KB · Aufrufe: 8
Ist das Directory Listing?
Wenn du damit das anzeigen des Verzeichnis-Inhalts meinst dann ja.
Eine Möglichkeit das zu verhindern ist ganz einfach in jeden Ordner eine leere index.html zu legen. Wird kein Dateiname angegeben wird nämlich Grundsätzlich erstmal versucht die index.html aufzurufen und erst wenn die nicht da ist wird der Verzeichnis-Inhalt angezeigt.
Die andere Möglichkeit ist per .htaccess:
http://www.htaccess-guide.com/disable-directory-listings/

Wie kann ich später Ordner vor unberechtigten Zugriff schützen, dass nur der "Maks" auf seinen Ordner zugreifen kann, wo er seine upgeloadeten Videos, Fotos usw findet?
Zum Beispiel auch wieder per .htaccess:
http://aktuell.de.selfhtml.org/artikel/server/htaccess/

Wobei ich das (abhängig von der User-Anzahl) für keine sonderlich praktikable Lösung halt.
Da würde ich mir dann schon eher was in der jeweiligen Sprache (php etc.) ausdenken.
 
Wenn du damit das anzeigen des Verzeichnis-Inhalts meinst dann ja.

Ja also das man so eine Ausgabe wie in dem Bild erhält

Die andere Möglichkeit ist per .htaccess:

Das hätte ich auch schon einmal probiert da scheint mir die Lösung mit PHP etwas besser zu sein.


Weil ich hab mich ja wie ich den Linux Webserver aufgesetzt habe mit chown auseinandersetzen müssen. Das CHOWN heißt ja Change Owner und da kann man wie der Name schon sagt ganze Verzeichnisbäume einem anderen User zuteilen, sodass nur dieser Zugriff auf diesen hat.

Welchen Einfluss hat dann ein PHP Skript auf die Einstellungen im Linux System?

Da kann doch ein PHP Skript nichts verhindern, da es ja nicht mit dem Linux System direkt arbeiten kann oder?

lg Maks
 
Ich glaube du bringst da etwas durcheinander.
Directory listing hat erstmal nichts mit Benutzerrechten zu tun.

Directory listing ist ganz einfach nur das auflisten eines Verzeichnis-Inhalts wenn keine index.html verfügbar ist und kein Dateiname im Request angegeben wurde.
Ein Beispiel:
Request an http://localhost/foobar/
Apache schaut sich den Request an und merkt das keine Datei angegeben wurde.
Apache geht jetzt mal schnell in den Ordner foobar und schaut nach ob es eine index.html in foobar gibt.
Es gibt aber keine also muss der Apache wohl den ganzen Inhalt des Ordners ausgeben.
Wenn Directory Listing erlaubt ist dann passiert das was man auf deinem Bild oben sieht.
Wenn aber in der .htacces Directory Listing verboten ist (Options -Indexes ), gibt der Apache folgendes aus:
Code:
Forbidden
You don't have permission to access /foobar/ on this server.
Das hat aber nicht mit irgendwelchen Benutzerrechten zu tun.
Es bedeutet wie gesagt nur das es Apache nicht gestattet ist im Falle fehlender Dateinamen einfach den ganzen Ordnerninhalt auszugeben.

Da kann doch ein PHP Skript nichts verhindern, da es ja nicht mit dem Linux System direkt arbeiten kann oder?
Doch php kann auch das. Sollte man aber nicht machen.
 
Verstehe!
Wenn ich also die Datei .htaccess jetzt in mein Root-Verzeichnis also am Testserver ins www kopiere, natürlich mit dem Inhalt Options -Indexes, dann gilt im gesamten Verzeichnisbaum, dass Directory Listing deaktiviert ist, stimmt das so?

Doch php kann auch das. Sollte man aber nicht machen.

Wieso sollte man es nicht machen?
 
...stimmt das so?
Ja.

Wieso sollte man es nicht machen?
Also das ist eigentlich Ansichtssache ( war ein bischchen verallgemeinert von mir sry)
Ich sehe das so:
Wenn ich chmod / chown mit php verwenden will darf die Funktion in php nicht deaktiviert sein.
Wenn ich nun eine Sicherheitslücke in meinem Code habe und ein böser Bube es schafft mir Schadcode unterzujubeln dann kann der böse Bube dank chmod / chown relativ einfach (ohne shell o.ä.) die Berechtigungen ändern.

Aber wie gesagt. Ist Ansichtssache.
 

Neue Beiträge

Zurück