Darkmind
SNMP maniac
- Регистрация
- 31 Май 2006
- Сообщения
- 185
- Реакции
- 82
- Автор темы
- #1
Попробовал написать антилич для папки с контентом.
Для тех, кто хочет перенаправить на обидную картинку (every time you hotlink, God kills a kitten), последнюю строку можно заменить на:
После этого столкнулся с тем, что если открывать сайт в опере и открыть просмотр любого изображения, то можно к этому изображению обратиться напрямую и опера его исправно покажет, взяв из кэша. Решилось добавлением следующих строк:
Теперь опера не выпендривалась и реагировала на RewriteRule, не пытаясь подгрузить картинку из кэша. Но всплыла другая проблема, которую решить пока не могу. Firefox абсолютно наплевательски относится к HTTP-REFERRER и отказывается работать с этим антиличем. Даже когда картинки подгружаются скриптом, реферрер не передаётся.
Это опера:
А это фаерфокс:
Как с этим бороться?
Код:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://www.yourdomain.com [NC]
RewriteRule .*\.(jpg|jpeg|gif|mp3|png|bmp|xml)$ - [NC,F]
Для тех, кто хочет перенаправить на обидную картинку (every time you hotlink, God kills a kitten), последнюю строку можно заменить на:
Код:
RewriteRule .*\.(jpg|jpeg|gif|mp3|png|bmp|xml)$ http://www.yourdomain.com/antileech.jpg [NC,R,L]
После этого столкнулся с тем, что если открывать сайт в опере и открыть просмотр любого изображения, то можно к этому изображению обратиться напрямую и опера его исправно покажет, взяв из кэша. Решилось добавлением следующих строк:
Код:
<FilesMatch "\.(jpg|jpeg|gif|mp3|png|bmp|xml)$">
Header set Pragma "no-cache"
Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
Header set Expires "Sun, 19 Nov 1978 05:00:00 GMT"
</FilesMatch>
Теперь опера не выпендривалась и реагировала на RewriteRule, не пытаясь подгрузить картинку из кэша. Но всплыла другая проблема, которую решить пока не могу. Firefox абсолютно наплевательски относится к HTTP-REFERRER и отказывается работать с этим антиличем. Даже когда картинки подгружаются скриптом, реферрер не передаётся.
Это опера:
Код:
GET /content/pictures1/sunset%2Ejpg HTTP/1.1" 304 - "http://www.yourdomain.com/gallery/engine.php" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.5.24 Version/10.53"
А это фаерфокс:
Код:
"GET /content/pictures1/sunset%2Ejpg HTTP/1.1" 403 306 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 WebMoney Advisor"
Как с этим бороться?