Serververzeichnis in Browser unsichtbar machen

  • Guten Tag Leute,


    ich hätte mal eine Frage.
    Ich habe eine Website die auf einem Server liegt.
    Meine PHP-Datei speichert Bilder in einem neu erstellten Ordner in einem /uploads Ordner.
    Sieht so aus: Bild wird mit Input an Server gesendet -> phpdatei erzeugt neuen Ordner in \uploads und speichert Bild in den neuen Ordner.


    Was ich jetzt brauche.. Ich will dass wenn man in den Browser ...\uploads eingibt nicht das ganze Verzeichnis angezeigt wird,
    jedoch arbeite ich mit der Datei ..\uploads\neuerOrdner\Bild.img weiter.

    Es darf also nicht der Zugriff auf das Verzeichnis geblockt werden, sondern jeder Client darf nur auf sein Verzeichnis zugreifen und nicht auf die anderen..



    Ist das möglich?


    Ich bedanke mich im voraus schon mal.

  • Um den direkten Zugriff auf ein Verzeichnis zu verhindern musst du unter Apache nur eine .htaccess Datei mit folgendem Inhalt erstellen:


    Code
    1. Options -Indexes


    Dateiname ist nur ".htaccess", dabei darauf achten, dass dein Editor es nicht zufällig als ".htaccess.txt" oder so speichert.


    Der Zugriff auf die Dateien (sofern der Dateiname bekannt ist) wird damit nicht verhindert.


    Wenn du einzelne Teile des Verzeichnisses für bestimmte Personen zugänglich machen möchtest brauchst du eine Zugriffskontrolle. Das könntest du auch mit htaccess lösen oder aber mit PHP.


    Mehr dazu findest du unter den Stichworten htaccess und 403 - Forbidden.

  • Kommt darauf an, was Du nutzt.
    Bei Apache kannst Du das Verzeichnis "blocken" (kein listing)
    via .htaccess Datei im Verzeichnis, das nicht gelistet werden soll:
    Ihnalt:

    PHP
    1. Options -Indexes


    Oder (vom Server unabhängig), was ich schon ziemlich genial finde, Du legst eine leere index.php in jedes Verzeichnis, welches nicht gelistet werden soll: http://stackoverflow.com/a/5971900
    Wenn dann jemand den Pfad aufruft, wird die index.php ausgefürht, die dann nichts ausgibt =)


    Basi lol zur exact gleichen Zeit geantwortet :D