Sven Rautenberg: .htaccess und PDF-Dateien vertragen sich nicht

Beitrag lesen

Yo!

Der von mir gewählte Ansatz hat einen nicht zu verachtenden Sicherheitsaspekt.

Ähm... nein!

Hintergrund ist folgender:
Die PDF-Dateien sind z.B. innerbetriebliche Dokumente die nur durch autorisierte User erreichbar sein dürfen. Das beschriebene cgi-Script welches die Linkliste erzeugt, prüft vorher die Autorisierung des Users.

Gut. Damit erreichst du, dass nur autorisierte Benutzer die jeweilige Linkliste sehen. _Mehr nicht._

Das die entsprechende Resource nur dann aufgerufen werden kann wenn ein korrekter Referer gesendet wird ist von mir gewollt!

Mein Gedanke war, dass das cgi-Script den Referer sendet.

Das kann es tun - muss sich dann aber als Client mit dem eigenen Webserver verbinden - und das Dokument ist immer noch nicht beim User.

Ich habe auch schon versucht eine PDF-Datei mit einem cgi-Script byteweise einzulesen und diese dann an den Browser zu senden:

print "Content-type: application/pdf\n\n";
$filename = "../../down_pdf/test.pdf";
open (FILE,"< $filename");
while(<FILE>)
{
  print $_;
}
close (FILE);

Aber auch hier entsteht das gleiche Problem!

Dieser Ansatz ist eigentlich der sinnvollste: Das Skript prüft die Autorisation und gibt dann die Datei aus.

Einen zusätzlichen Passwortschutz mittels .htaccess für das betroffene Verzeichnis möchte ich gerne vermeiden da doppelter Verwaltungsaufwand entsteht.

Deine Methode via Referrer ist nicht sicher. Insofern bleibt dir nichts anderes übrig, als dir etwas anderes auszudenken.

Es gibt noch wesentlich mehr Möglichkeiten, bei .htaccess die Benutzerkennung zu prüfen. Auch datenbankgestützte Methoden sind möglich. Schau dazu am besten mal bei der Doku deines Webservers rein.

- Sven Rautenberg