Очень часто недобросовестные ведущие некоторых развлекательных сайтов да и некоторые блоггеры, в целях экономии траффика, вместо того чтобы сослаться на понравившиеся картинки или хотя бы пересохранить их у себя на сервере, просто тянут их к себе прямо с вашего сайта, или как говорится “личат”.
Обычно об этом узнают по резко возросшему траффику или по количеству обращений к файлу, которое не соответствует количеству посетителей. А так как траффик отдавать просто так обидно, да и злостных личеров стоит наказать, то проблему надо решать. Есть много способов.
- Можно просто “тупо” переименовать картинки или сменить к ним путь.
- Можно установить софт-антилич от стороннего разработчика, что не всегда просто, не всегда бесплатно и не всегда дает нужные результаты.
- Можно прописать правило в файле .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]
Естественно не забываем прописать правильные названия сайтов и пути к файлам. Вариантов может быть много. Для ленивых есть вот неплохой .htaccess генератор, который все делает сам, вам только нужно ввести домены и путь к картинке для личеров.
Войти
RSS-подписка
Читать в ЖЖ
Яndex-Лента
В Google Reader
(проголосовали: 7, рейтинг: 4.71 из 5)
Спасибо поставлю у себя
Комментарий by Arqus — Июль 4, 2007 @ 4:21 am | Цитировать