Andreas: dateien aus geschützten verzeichnissen mit php anzeigen

Beitrag lesen

Hallo,

dieses Forum ist meine letzte Rettung. Ich suche schon seit sechs Stunden in allen möglichen Tutorials, Handbüchern und Postings nach einer Lösung. Vielleicht gibt es ja garkeine, aber das kann ich irgendwie nicht glauben.

Zunächst die Anforderungen an die Lösung, sozusagen als Leitplanke:

1. Auf dem Server befindet sich ein Verzeichnis mit Unterverzeichnissen. Auf die Dateien in diesen Verzeichnissen dürfen nur User zugreifen, die über PHP eingeloggt sind und auf die Dateien über ein bestimmtes Script zugreifen.

2. Direkter Zugriff auf die Dateien bei Kenntnis ihres Pfads soll ausgeschlossen sein (-> htaccess).

3. In den htaccess-geschützten Verzeichnissen befinden sich Thumbnails von Grafiken, die eingeloggten Usern in einer Auswahlmaske angezeigt werden sollen. Der HTML-Code dieser Maske wird durch ein PHP-Script generiert.

4. Die Thumbnails werden von PHP aufgesammelt und in den HTML-Code entsprechend integriert (<img src...> ?)

5. Die Dateien können nicht auf Verzeichnisse oberhalb des Document-Roots, also ausserhalb des Webservers, gelegt werden

6. Auch sollen die Dateien NICHT in ein temporäres Verzeichnis kopiert werden

Untaugliche Lösungsversuche:

1. Logischerweise kann über <img src...> nicht auf die Bilder zugegriffen werden, sie sind ja per htaccess geschützt

2. Der Schutz kann umgangen werden, wenn das Skript direkt auf einzelne Dateien zugreift (es sind nicht nur Bilder). Dazu müssen aber die header-Informationen übersandt, also jeweils neue Seiten geöffnet werden, z.B. durch eine entsprechende Pop-Up-Funktion mit Javascript zusammen mit PHP. Das taugt aber hier nicht, sollen doch in der Auswahlmaske mehrere Thumbnails gleichzeitig angezeigt werden, zudem wurden die header-Informationen beim Aufbau dieser Seite ja bereits geschickt

Konkrete Fragen:

Mit mod_rewrite in htaccess könnte vielleicht eingestellt werden, dass der Zugriff auf die Verzeichnisse möglich ist, wenn diese von dem Skript zur Ausgabe der Thumbnails ausgehen.

* Wie könnte das in der .htaccess aussehen?
* Wie werden dann die Bilder im Skript angesprochen (<img src...>?)

Nehmen wir an, die Bilder liegen in Verzeichnis /test/test/ und das Ausgabeskript ist /test/ausgabe.php.

Vielleicht müsste in .htaccess erst eine Check-Routine aufgerufen werden, in der überprüft wird, ob es sich bei dem referer um ausgabe.php handelt z.B.:

<file: /test/test/.htaccess>
RewriteEngine On
Options FollowSymLinks
RewriteRule   (.*)  /pfad-zur-check-routine
</file>

Nur wie kriege ich die Bilder angezeigt, wenn der Check erfolgreich war.