Антилич на картинки через .htaccess
Очень часто недобросовестные ведущие некоторых развлекательных сайтов да и некоторые блогеры, в целях экономии трафика, вместо того чтобы сослаться на понравившиеся картинки или хотя бы пересохранить их у себя на сервере, просто тянут их к себе прямо с вашего сайта, или как говорится “личат”.
Обычно об этом узнают по резко возросшему траффику или по количеству обращений к файлу, которое не соответствует количеству посетителей. А так как трафик отдавать просто так обидно, да и злостных личеров стоит наказать, то проблему надо решать. Есть много способов.
Можно просто “тупо” переименовать картинки или сменить к ним путь. Можно установить софт-антилич от стороннего разработчика, что не всегда просто, не всегда бесплатно и не всегда дает нужные результаты.
Но можно прописать правило в файле .htaccess. Причем это можно сделать как для конкретного сайта, так и для всех, оставив к примеру только несколько разрешенных, таких как Google Images. Сегодня мы рассмотрим как это сделать через .htaccess.
Способ первый. Перекрываем кислород всем.
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?вашсайт.ru/ [nc]
RewriteCond %{HTTP_REFERER} !^http://(www.)?google.com/ [nc] - доступ Гуглю открыт
RewriteRule .*.(gif|jpg|png)$ http://вашсайт.ru/images/hotlinkers.jpg [nc]
RewriteRule .(jpe?g|gif|png)$ - [F] - эту строчку можно подставить вместо последней, чтобы перенаправлять на 403 Forbidden вместо картинки.
Что собственно происходит? Когда к серверу идет запрос на файл с расширением (gif|jpg|png), и этот запрос не с вашего сайта, то запрашиватель отправляется прямиком к картинке http://вашсайт.ru/images/hotlinkers.jpg, которая может быть расположена по вашему усмотрению и на ней может быть все что угодно. Такой способ быстро отбивает охоту личить ваши картинки.
Способ второй. Преступление и наказание.
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(www.)?zloylicher.net/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www.)?esheodin.com/ [NC]
RewriteRule .(jpeg|gif|png)$ images/hotlinkers.jpg [R,L]
В данном случае запрет на запрос к картинкам выдается только сайтам, злобным личерам, которые в свою очередь тоже идут лесом и смотрят на ту картинку, которую вы хотите им показать.
Вся разница в том, что в одном случае вы закрываете доступ всем, а во втором только личерам.
Способ третий. Защищаем любые файлы.
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://(www.)?zloylicher.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www.)?esheodin.com/ [NC]
RewriteCond %{REQUEST_FILENAME} !hotlinkers.jpg$
RewriteRule .*.(gif|jpe?g|png|bmp|pdf|zip|rar|mp3|js)$ http://www.mysite.com/images/hotlinkers.jpg [R]
Естественно не забываем прописать правильные названия сайтов и пути к файлам.