Защита от хотлинка через htaccess

18.04.16 18:45:50 18.04.16 19:08:16 127

Что такое хотлинк?
Например, какой нибудь хитрый юзер не хочет платить своему хостеру и привязывается к Вашим мультимедийным приложениям или изображениям (видео, музыка) и помещает их на свою страницу. Он использует ваш контент на своем сайте, загружая его со своего.В принципе хотлинк является кражей интеллектуальной собственности, причем Вы еще оплачиваете трафик другого сайта.

Как защитится от хотлинка?

Приведём пример. Допустим ваш сайт http://www.xxx.ru/

Надо прописать следующие строки в файле .htaccess на своем сервере. Таким способом мы защитимся от хотлинка и средиректим (перенаправим) хотлинкующих Вас куда-нибудь нахрен, на файл nahren.html

RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://sotik.ru.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.xxxx.ru.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://xxxx.ru:80.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.xxxx.ru:80.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://4.78.23.246.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://4.78.23.246:80.*$ [NC] RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$ http://www.xxxx.ru/nahren.html

Эти цифры – 4.78.23.246 – IP вашего сайта. Т.е. сейчас на сайт можно попасть тремя способами: набрав sotik.ru, набрав www.sotik.ru и набрав, если так удобней , в браузере http://4.78.23.246

В файлике nahren.html можно написать что угодно – повесить консоли и просто послать хотлинкующих Вас нахрен.

Чтобы предотвратить хотлинк от всех сторонних доменов, и показать им только одну картинку (бывает такая необходимость) надо написать в .htaccess следующее:

RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(www\.)?yousite.ru\.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ RewriteRule \.(jpe?g|gif|bmp|png)$ images/nohotlink.jpg [L]

Файл nohotlink.jpg, лежащий в папке images/ Там будет единственная картинка, которую будут видеть хотлинкующие.

Чтобы защитится от хотлинка только от некоторых определенных доменов пропишите в .htaccess следующее:

RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite\.net/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite\.com/ [NC] RewriteRule \.(jpe?g|gif|bmp|png)$ - [F]

Будет возникать ошибка 403 forbidden. Надо заранее позаботится об обработке ошибок. Пишем в .htaccess следующее

ErrorDocument 404 http://www.yousite.ru/nahren.html ErrorDocument 403 http://www.yousite.ru/nahren.html ErrorDocument 500 http://www.yousite.ru/nahren.html

Это перенаправит все запросы к вашим картинкам на “consolehell.html”, за исключением тех, которые пришли с *yourdomain.com. Чтобы проверить эту установку вы можете пойти на Hotlinking.com и ввести урл картинки, которая теперь у вас под htaccess. Если картинки не увидите, значит все в порядке.

А вот так можно перенаправить все запросы к картинкам на http://www.yourdomain.ru/nahren.html, за исключение только тех, которые идут с вашего собственного домена yourdomain.ru

RewriteEngine on RewriteCond %{HTTP_REFERER} !^http(s)?://([a-z0-9-]+.)*yourdomain.com(:80)?(/.*)? [NC] RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$ http://www.yourdomain.ru/nahren.html [L,R]

Вобщем, надо соблюдать вышеперечисленные предписания и помнить, что не предотвратив хотлинк, можно очень серьезно переплатить своему хостеру.