< The Webmakers Lounge />

We are responsible for the View Source

Антилич на картинки через .htaccess

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]

Естественно не забываем прописать правильные названия сайтов и пути к файлам. Вариантов может быть много. Для ленивых есть вот неплохой .htaccess генератор, который все делает сам, вам только нужно ввести домены и путь к картинке для личеров.

4 комментария на “Антилич на картинки через .htaccess”

  1. Arqus сказал:

    Спасибо поставлю у себя

  2. Вебмастер сказал:

    Теперь все хотлинкеры видят “пятку” :)
    Спасибо.

  3. Alexey сказал:

    Отличная статья спасибо, так же рекомендую ознакомится с
    http://www.beget.ru/art9.html - хорошая статья по mod_rewrite очень помогла все в одном месте, а также множество приемером http://www.beget.ru/art10.html

  4. Kumiro сказал:

    У меня почему то не работает :(
    вот мой htt…

    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?dvp.kumiro.ru [NC]
    RewriteRule \.(gif||pe?g|png|bmp|pdf|zip|rar|mp3|js)$ http://dvp.kumiro.ru/CLOSED.jpg [NC,R,L]
    RewriteRule ^index.htm index.php?%{QUERY_STRING}
    RewriteRule ^index.html index.php?%{QUERY_STRING}
    RewriteRule ^main.html index.php?act=idx&%{QUERY_STRING}
    RewriteRule ^ipb.html index.php?%{QUERY_STRING}
    RewriteRule ^topic([0-9]+)\.html$ index.php?showtopic=$1&%{QUERY_STRING}
    RewriteRule ^topic([0-9]+)s([0-9]+)\.html$ index.php?showtopic=$1&st=$2&%{QUERY_STRING}
    RewriteRule ^topic([0-9]+)\.html&st=([0-9]+)$ index.php?showtopic=$1&st=$2&%{QUERY_STRING}
    RewriteRule ^forum([0-9]+)\.html$ index.php?showforum=$1&%{QUERY_STRING}
    RewriteRule ^cat([0-9]+)\.html$ index.php?act=SC&c=$1&%{QUERY_STRING}
    RewriteRule ^ptopic([0-9]+)\.html$ index.php?act=Print&client=printer&f=1&t=$1&%{QUERY_STRING}
    RewriteRule ^user([0-9]+)\.html$ index.php?showuser=$1&%{QUERY_STRING}
    RewriteRule ^links([0-9]+)\.html$ iindex.php?autocom=links&=$1&%{QUERY_STRING}

Оставить ответ

Ссылки в тему

Варианты подписки