bestimmte Dateitypen mittels .htaccess umleiten
Frank Hübner
- webserver
Hallo zusammen,
Ich habe ein Verzeichnis in dem z.B. nur .gif Dateien liegen. Ich möchte nun, dass wenn jemand den kompletten Pfad zum Bild angibt, soll er stattdessen eine Fehlermeldung bekommen.
Ein Zugriff über ein PHP-download-script sollte davon unberührt bleiben !?
Das ganze am liebsten in der .htaccess Datei.
Gibt es etwas in der Art wie
Redirect *.gif http://www.domain.de/fehler.html
Bis denne
Frank
hi!
Ich habe ein Verzeichnis in dem z.B. nur .gif Dateien liegen. Ich
möchte nun, dass wenn jemand den kompletten Pfad zum Bild angibt,
soll er stattdessen eine Fehlermeldung bekommen.
Das geht so nicht. Denn du kannst nicht unterscheiden, ob jemand in
seinem Browser die URL zum Bild eintippt, oder ob der Browser das
Bild ganz normal anfordert, um es in einer Website darzustellen.
Theoretisch übermittelt der Browser zwar einen Referrer, wenn er das
Bild anfordert, weil er es in einer Webseite anzeigen soll, aber
praktisch kannst du davon nicht ausgehen, da viele Leute die
Übermittlung des Referrers abgeschaltet haben oder der Browser damit
generell Probleme hat.
Ein Zugriff über ein PHP-download-script sollte davon unberührt
bleiben !?
Wenn du die Bilder nur zum Download anbieten willst, dann leg sie
doch in einem Verzeichnis ab, das außerhalb der Verzeichnisse liegt,
die über den HTTP-Server erreichbar sind. Dann kannst du mit dem
PHP-Skript die Datei öffnen, auslesen und selbst an den Browser
schicken.
bye, Frank!
hi!
Ich habe ein Verzeichnis in dem z.B. nur .gif Dateien liegen. Ich
möchte nun, dass wenn jemand den kompletten Pfad zum Bild angibt,
soll er stattdessen eine Fehlermeldung bekommen.
Das geht so nicht. Denn du kannst nicht unterscheiden, ob jemand in
seinem Browser die URL zum Bild eintippt, oder ob der Browser das
Bild ganz normal anfordert, um es in einer Website darzustellen.
Das war von MIR! dumm formuliert. Natürlich kann er das nicht entscheiden, kann .htaccess aber erkennen, das ein *.gif angefordert wurde und dann umleiten.
dann leg sie
doch in einem Verzeichnis ab, das außerhalb der >Verzeichnisse liegt,
die über den HTTP-Server erreichbar sind.
Tja, dumm nur wenn man extrem eingeschränkte Zugriffsrechte hat. Ich hab nur Schreibrechte innerhalb des Document-Root.
Frank
hi!
dann leg sie doch in einem Verzeichnis ab, das außerhalb der
Verzeichnisse liegt, die über den HTTP-Server erreichbar sind.
Tja, dumm nur wenn man extrem eingeschränkte Zugriffsrechte hat. Ich
hab nur Schreibrechte innerhalb des Document-Root.
Hm. Also ich habe noch nicht ganz verstanden, was du eigentlich genau
machen willst... ;)
Um einfach nur die GIF-Dateien zu schützen, die irgendwo in deinem
DocumentRoot liegen, gibt es allerdings Möglichkeiten: eine davon
wäre, per .htaccess einfach den gesamten Zugriff über den Webserver
auf dieses Verzeichnis zu verbieten. Das müsste einfach gehen, wenn
du in das Verzeichnis mit den GIF-Dateien eine .htaccess-Datei legst,
in der nur sowas steht wie:
Order allow,deny
Deny from all
Wenn du Anfragen umleiten willst, solltest du dir mal das Apache-
Modul mod_rewrite anschauen, das kann sowas. Aber die Frage ist, ob
du das verwenden darfst. Würde dann in der .htaccess etwa folgender-
maßen aussehen:
RewriteEngine on
RewriteRule ^/path/to/gifs/(.*.gif)$ download.php?file=$1
Ich hoffe, das entspricht etwa deinen Vorstellungen?
bye, Frank!
Hi Frank,
Order allow,deny
Deny from all
genau das hätte ich auch vorgeschlagen.
Wenn du Anfragen umleiten willst,
... weil sie gegen diesen Zugriffsschutz verstoßen, dann müßte doch
ein für dieses Verzeichnis definiertes ErrorDocument für Status 403
genau das Erwünschte tun, oder?
Viele Grüße
Michael
hi!
Wenn du Anfragen umleiten willst,
... weil sie gegen diesen Zugriffsschutz verstoßen, dann müßte doch
ein für dieses Verzeichnis definiertes ErrorDocument für Status 403
genau das Erwünschte tun, oder?
Hm, ich dachte, er möchte die Bilder zum Download anbieten. Daher
würde sich mod_rewrite anbieten, denn dann kann er den Namen des
entsprechenden Bildes als Parameter an das Download-Skript anhängen.
Mit einem ErrorDocument für einen Status 403 könnte er ja nur auf
die immer gleiche Seite umleiten.
bye, Frank!
Hi Frank,
Mit einem ErrorDocument für einen Status 403 könnte er ja nur auf
die immer gleiche Seite umleiten.
... die ein CGI-Skript sein kann und über das Environment erfährt, auf
welche Seite der Originalzugriff erfolgt ist.
Also ist alles da, was man braucht, um glücklich zu sein:
http://httpd.apache.org/docs/custom-error.html
Viele Grüße
Michael