Hallo Frank,
Also um das nochmal klar auszudrücken, per header() kann die download.php schon Dateien im "geheim" Verzeichnis ausgeben, aber ich möchte Grafiken aus diesem Ordner von einem php-Skript ganz normal per
echo "<img src='geheim/pic.jpg'>"
ausgeben können. Das muss doch möglich sein?
Nein. Es ist Sinn und Zweck der Übung, das _nicht_ zu tun. Wenn das möglich ist, dann bekommt man diese Grafik auch ohne Session. Dann ist diese Grafik _nicht_ geschützt. Die Idee beim Schutz dieser Art ist, dass die Grafik eben durch ein Skript zurückgegeben wird (d.h. Senden entsprechender Header mit anschließender Ausgabe des Inhalts der "realen" Datei. Da das Skript zunächst das Vorhandensein einer Session prüft, kann ohne Session kein Zugriff auf die Grafik erfolgen.
Der Ablageort der geschützten Datei ist idealerweise außerhalb der document_root des Servers, so dass die Grafik direkt überhaupt nicht vom Server ausgeliefert werden kann. Hat man keinen Zugriff auf solche Bereiche aber dafür die Möglichkeit, verzeichnisspezifische Konfigurationsdateien (sprich .htaccess) zu nutzen, dann kann man den hier vorgeschlagenen Weg gehen.
Aber immer erfolgt die Auslieferung der Grafik über ein Skript, niemals direkt.
Freundliche Grüße
Vinzenz