Na początku zaznaczam, że nie mam zielonego pojęcia o PHP, więc jakby co to proszę łopatologicznie ^^
Znalazłam sposób na obronę przed hotlinkowaniem przez wpis w .htaccess, ma to wyglądać tak:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mojsajt.pl/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|rar|zip)$ - [F]
Nie miałam wcale pliku .htaccess, więc zrobiłam, wrzuciłam na serwer i o dziwo zadziałało… ale nie całkiem. Tzn. przy odwołaniu typu http://www.mojsajt.pl/image.jpg zabezpieczenie działa i obrazka nie widać, ale wystarczy że użyję adresu bez www , czyli http://mojsajt.pl/image.jpg i już obraz się wyświetla
Jak to przerobić? Bardzo proszę o wskazówki, najlepiej w postaci propozycji gotowego kodu (patrz pierwsze zdanie posta… :-P)
Umik
(Panda2a)
23 Wrzesień 2007 16:42
#2
Linia 3 - wstaw
RewriteCond %{HTTP_REFERER} !^http://mojsajt.pl/ [NC]
Czyli cały kod ma wyglądać tak?
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mojsajt.pl/ [NC]
RewriteCond %{HTTP_REFERER} !^http://mojsajt.pl/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|rar|zip)$ - [F]
No to bez zmian, nie działa.
Umik
(Panda2a)
23 Wrzesień 2007 17:37
#4
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mojsajt.pl/ [OR]
RewriteCond %{HTTP_REFERER} !^http://mojsajt.pl/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|rar|zip)$ - [F]
Teraz ? lub:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://mojsajt.pl/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://mojsajt.pl$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.mojsajt.pl/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.mojsajt.pl$ [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC]