Antileech

Статус
В этой теме нельзя размещать новые ответы.

Darkmind

SNMP maniac
Регистрация
31 Май 2006
Сообщения
185
Реакции
82
Попробовал написать антилич для папки с контентом.
Код:
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"

Как с этим бороться?
 
----------------------------- решения нет ----------------------------
Проблема в недобраузере Firefox, который я яро ненавижу с момента его выхода за кривость, грязный пиар и прочую муть. Для просмотра ссылки Войди или Зарегистрируйся горите в аду, Mozilla Foundation. Чтобы не лезть по ссылке, вкратце: "Проблема в том, что Firefox не посылает REFERER при запросе из Embedded Flash".

Тему можно закрывать, стандартными средствами эту проблему, скорее всего, не решить.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху