Stephan Huber: Login über Sessions: Zugriff nur auf bestimmte Dateien?

Beitrag lesen

Hallo David,

Ich realisiere grad einen Login-Bereich mit Sessions. Kann ich dort auch einem Benutzer (der den Benutzernamen 100100 hat) auch Zugriff nur auf den Ordner 100100 gewähren?

Ja

Wenn ja, wie?

Wenn es sich um html-content handelt, der von einem php-Skript erzeugt wird, einfach indem Du am Anfang den Usernamen und den Verzeichnisnamen vergleichst, und entsprechend reagierst.
Wenn es nicht-html-content ist, also z.B. pdfs, dann kannst Du so natürlich nicht verhindern, daß jemand das pdf öffnet, wenn er die url kennt. Um das zu verhindern, mußt Du alle solchen Dateien in ein Verzeichnis schmeißen, daß entweder per .htaccess gesichert ist, damit keiner direkt Zugriff hat, oder ganz außerhalb des wwwroot liegt. Für den User 100100 gibt es dann ein Skript, daß die für ihn freigegebenen Dateien kennt (z.B. weil sie im /download/100100/-Verzeichnis stehen - das ist das gesicherte). Wenn der User eine Datei herunterladen will, wird ein php-Skript aufgerufen, daß die Datei in eine Variable einliest(nachdem es überprüft hat, ob die Datei für den User bestimmt ist), die entsprechenden header, z.B.:
Header ( "Content-Type: application/octet-stream");
Header ( "Content-Length: ".filesize);
Header( "Content-Disposition: attachment; filename=$filenames");
ausgibt, und dann den Inhalt der Datei an den Browser schickt.

Viele Grüße
Stephan