Hotlinking mit .htaccess verhindern bei PHP-Dateien
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bild
code
direkter weiterleitung
domain
doppelte wartung
file
folgendes stehen
http
image
internet
klatschen
netz
problem
registrierte benutzer
schlampigen quellenangaben
tag
tun
variable abfragen
variable setzen
verweis
-
Hallo zusammen,
mit htaccess-Dateien kenne ich mich nicht so wirklich aus, zumal es auch wenige Tutorials im tag/netz">Netz dazu gibt.
Ich habe in der htaccess nun folgendes stehen:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} ^http://www\.BLABLABLA\.de.*$ [NC] RewriteCond %{REQUEST_URI} !^.*hotlink\.jpg$ [NC] RewriteRule ^.*\.(gif|jpg|png|jpeg)$ https://www.ep-board.de/images/hotlink.jpg [NC,R,L] </IfModule>
Ich möchte nun, dass alle Bilder für die Seite BLABLABLA von uns ersetzt werden mit dem hotlink.jpg.
Klappt soweit ganz gut. Das Problem ist jedoch nur, dass wir auch Bilder haben, mit der Dateiendung php. Sprich:
https://www.ep-board.de/download/file.php?id=1234567890
Das sind auch Bilder, die da raus kommen. Wie sperre ich diese für diese bestimmte Seite? Meinetwegen auf via PHP-Code.
Google lässt dort auch nichts finden, bis auf das hier:
RewriteRule download/file\.(php)$ https://www.ep-board.de/images/hotlink.jpg [F]
Dann gehen aber nirgendswo mehr Bilder und die werden auch nicht ersetzt.
Vielen Dank schon einmal im voraus.
EDIT: Habs gelöst bekommen:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} ^http://www\.BLABLABLA\.de.*$ [NC] RewriteCond %{REQUEST_URI} !^.*hotlink\.jpg$ [NC] RewriteRule ^.*\.(gif|jpg|png|jpeg)$ https://www.ep-board.de/images/hotlink.jpg [NC,R,L] </IfModule> <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} ^http://www\.BLABLABLA\.de.*$ [NC] RewriteCond %{REQUEST_URI} !^.*hotlink\.jpg$ [NC] RewriteRule ^.*file\.(php)$ https://www.ep-board.de/images/hotlink.jpg [NC,R,L] </IfModule>
Beitrag zuletzt geändert: 10.9.2015 20:00:33 von mpsftp -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du kannst auch beide Rewrite-Rules direkt nacheinander packen, das spart dir die doppelte Wartung, wenn ggf. eine neue Domain dazu kommt. Dran denken: Es kann auch die Domain mit/ohne WWW sein:
^http(s)?://(www\.)?example\.com [NC]
sollte auch tun.
Anstatt zum Bild würde ich persönlich gleich zur Info zum Thema Hotlinking verweisen. Oder ggf. Anhänge nur für registrierte Benutzer zulassen.
OT: Das Internet ist klein, bei euch im Board hab' ich mich nach langem Mitgelese vor ein paar Tagen auch mal registriert. :) -
Oh, hallo :D Kleine Welt, selbst im Netz
Der Code dient eigentlich nur dazu, um unsere Bilder und Dateianhänge auf einer bestimmten Seite zu verbieten, die unsere Bilder mehrfach auf ihrer Seite einbindet und das auch teilweise ohne oder mit sehr schlampigen Quellenangaben. Deshalb soll es ein schöner großer roter Hinweiß werden.
Das Problem wäre, wenn ich das ganze zusammen lege, dass auch bei uns im Board alle Bilder und Dateianhänge dementsprechend ausgetauscht werden. Das sollte ja nun nicht sein. So habe ich eben kurz auch mal das Board zerbombt. -
Schön, dass es so funktioniert. Der Vollständigkeit halber aber doch noch: :D
Klar, so ganz einfach "untereinander" klatschen ist nicht.
Statt direkter Weiterleitung eine Variable setzen und dann vor der RewriteRule die Variable abfragen.
Oder: Die RewriteConds anpassen, dass alles weitergeleitet wird, was Bild/Download (REQUEST_URI) ist und den böse Referer hat. -
Jetzt komm ich nicht mehr mit... - Sorry, aber htaccess ist (noch) nicht so meine Stärke.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage