.htaccess (mod_rewrite) und PDF: "Datei beginnt nicht mit %pdf-"
Dirk Quednau
- webserver
0 e70 Dirk Quednau0 wahsaga0 Dirk Quednau0 e7
Hallo,
um zu verhindern, dass verschiedene Dateien direkt von unserem Webserver aufgerufen werden, habe ich in die .htaccess-Datei folgenden Code geschrieben:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://www.website-eins.de.* [NC] [OR]
RewriteCond %{HTTP_REFERER} !^http://www.website-zwei.com.* [NC]
RewriteRule /* http://www.website-drei.de [L,R]
Der gewünschte Effekt ist auch eingetreten: Die Dateien können nur noch über die angegebenen Websites aufgerufen werden.
Allerdings hat dieser Code auch zur Folge, dass beim Aufruf von PDF-Dateien (bei anderen Dateien funktioniert es - wie gesagt - einwandfrei) die folgende Fehlermeldung erscheint:
"Datei beginnt nicht mit '%pdf-'."
Die Datei selbst wird dann nicht mehr geöffnet.
Hat jemand schon einmal Ähnliches beobachtet und vielleicht eine Lösung für mich?
Besten Dank,
Dirk.
Hi,
meine Vermutung: Der AcrobatReader öffnet seine Dateien ja selbstständig, sprich: ohne den Browser zu verwenden; und sendet deswegen auch keinen Referer mit - wo wir das Problem dann ja schon hätten...
E7
Hallo,
mmmh, ich weiß nicht. Wäre ja schön, wenn wir "das Problem dann ja schon hätten". Ich bin mir da allerdings nicht so sicher.
Denn, läge es an dem fehlenden Referer, würde ja zu der alternativ angegebenen Website (im Beispiel: "website-drei") weitergeleitet werden. Das ist aber offensichtlich nicht der Fall: Es wird ja versucht, die PDF-Datei zu öffnen; nur misslingt dies leider.
Oder sehe ich das falsch!?
Dirk.
Hi,
meine Vermutung: Der AcrobatReader öffnet seine Dateien ja selbstständig, sprich: ohne den Browser zu verwenden; und sendet deswegen auch keinen Referer mit - wo wir das Problem dann ja schon hätten...
E7
hi,
Denn, läge es an dem fehlenden Referer, würde ja zu der alternativ angegebenen Website (im Beispiel: "website-drei") weitergeleitet werden. Das ist aber offensichtlich nicht der Fall: Es wird ja versucht, die PDF-Datei zu öffnen; nur misslingt dies leider.
Oder sehe ich das falsch!?
ja.
der acrobat reader fordert die pdf-datei selbständig an (sofern e7 recht hat, IDK).
er "erwartet" jetzt PDF-daten - bekommt aber nur deine umleitung zur anderen webseite. _wenn_ er dieser folgt, bekommt er dort jetzt vermutlich html-code serviert - und auf den dürfte "beginnt nicht mit %pdf" ziemlich sicher zutreffen.
gruß,
wahsaga
Echt?! Und da kann man nichts machen?
hi,
Denn, läge es an dem fehlenden Referer, würde ja zu der alternativ angegebenen Website (im Beispiel: "website-drei") weitergeleitet werden. Das ist aber offensichtlich nicht der Fall: Es wird ja versucht, die PDF-Datei zu öffnen; nur misslingt dies leider.
Oder sehe ich das falsch!?
ja.
der acrobat reader fordert die pdf-datei selbständig an (sofern e7 recht hat, IDK).
er "erwartet" jetzt PDF-daten - bekommt aber nur deine umleitung zur anderen webseite. _wenn_ er dieser folgt, bekommt er dort jetzt vermutlich html-code serviert - und auf den dürfte "beginnt nicht mit %pdf" ziemlich sicher zutreffen.gruß,
wahsaga
Hi,
Echt?! Und da kann man nichts machen?
doch.
a) Das rewrite-Teil wieder rausnehmen und/oder
b) SessionID's. Sprich: Besucht der Nutzer deine Seite, vergibst du eine SessionID, und lässt den Link der PDF-Datei auf beispielsweise getpdf.php?id=921385902835092385 laufen. Ist die SessionID gültig, lieferst du eine PDF-Datei aus, wenn nicht - Pech.
E7