|
|
|
Защита от хотлинка (hotlinks) с помощью .htaccess
Итак. Что такое хотлинк.
Представьте себе ситуацию: хитрожопый владелец другого сайта не хочет платить лишние баксы своему хостеру и желает сэкономить деньги на бендвиче. Он в буквальном смысле привязывается к одному или нескольким изображениям или мультимедийным файлам (видео, музыка, етц ) и помещает их на свою страницу. Грубо говоря, хитрожопый овнер использует ваш контент на своем сайте, загружая его со своего. По сути дела хотлинк является кражей интеллектуальной собственности (пафосно звучит ), причем вы еще оплачиваете трафик другого сайта.
Как защитится от таких хитрожопых владельцев? Допустим ваш сайт www.thehun.net (уже нехуево )
Пропишите нижеследующие строки в файле .htaccess на своем сервере. Таким способом защитимся от хотлинка и средиректим хотлинкующих нас куда-нибудь нахер на файл nahui.html
Код: |
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://thehun.net.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.thehun.net.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://thehun.net:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.thehun.net: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.thehun.net/nahui.html
|
Эти цифры - 4.78.23.246 - IP вашего сайта. Т.е. на сайт можно попасть тремя способами: набрав thehun.net, набрав www.thehun.net и набрав, если так удобней , в браузере http://4.78.23.246 (специально хана пинговал, блять, для реалистичности картины)
В файлике nahui.html можно написать что угодно - повесить консоли, дайлер, ну и просто по-человечески послать хотлинкующих вас нахуй.
Чтобы предотвратить хотлинк со всех сторонних доменов, и показать им только одну картинку (такая необходимость может возникнуть) напишите в .htaccess следующее:
Код: |
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?thehun.net\.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.thehun.net/nahui.html
ErrorDocument 403 http://www.thehun.net/nahui.html
ErrorDocument 500 http://www.thehun.net/nahui.html
|
Это перенаправит все запросы к вашим картинкам на “consolehell.html”, за исключением тех, которые пришли с *yourdomain.com. Чтобы проверить эту установку вы можете пойти на Hotlinking.com и ввести урл картинки, которая теперь у вас под htaccess. Если картинки не увидите, значит все в порядке.
А вот так можно перенаправить все запросы к картинкам на http://www.thehun.net/nahui.html, за исключение только тех, которые идут с вашего собственного домена thehun.net
Код: |
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://([a-z0-9-]+.)*yourdomain.com(:80)?(/.*)? [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$ http://www.thehun.net/nahui.html [L,R]
|
Вообщем соблюдайте вышеперечисленные предписания. Помните, не предотвратив хотлинк, можно очень серьезно переплатить своему хостеру.
(с) No |
|
|
|
|
|
No, спасибо, нужная вещь - эта защита... |
|
|
|
|
|
полезная вешчь) |
|
|
|
|
|
No писал(а): |
А вот так можно перенаправить все запросы к картинкам на http://www.thehun.net/nahui.html, за исключение только тех, которые идут с вашего собственного домена thehun.net
Код: |
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://([a-z0-9-]+.)*yourdomain.com(:80)?(/.*)? [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$ http://www.thehun.net/nahui.html [L,R]
|
|
А как можно перенаправить все запросы к видео (mpg,mpeg,wmv)? |
|
|
|
|
|
Цитата: |
А как можно перенаправить все запросы к видео (mpg,mpeg,wmv)?
|
Код: |
RewriteRule \.(jpe?g|gif|bmp|png)$ - [F]
|
вместо картинок (расширения jpg, gif и т.д.), пропиши расширения требуемых видео файлов |
|
|
|
|
|
А вот примочка для ленивых хттп://www.htaccesstools.com/hotlink-protection/. Есть кроме этого еще кое-какие полезные фишки. |
|
|
|
|
|
А если я сам тащу с других сайтов картинки, непохерит ли такая хитрая конструкция их? |
|
|
|
|
|
Если ты тащишь со своих ресурсов, то их можно прописать, и сможешь тащить как и прежде. Если с чужих то сам понимаешь. |
|
|
|
|
|
похерит, если неправильно тащишь... |
|
|
|
|
|
Мой совет всем новичкам... с проблемами антихотлинка и .htaccess лучше обращаться к админу сервера.... потому что любая ошибка может убить сайт, особенно если это сидж.
У меня так и произошло, прописал в .htaccess антихотлинк (htaccesstools.com) .. потом начал сидж раскручивать, дошёл до 45к ... и сервер завис - оперативной памяти не хватило.
|
|
|
|
|
|
чегож ты там такого прописал то? |
|
|
|
|
|
Примерно вот так:
Цитата: |
ErrorDocument 401 http://www.domain.net/
ErrorDocument 403 http://www.domain.net/
ErrorDocument 404 http://www.domain.net/
ErrorDocument 500 http://www.domain.net/
Options -Indexes
AddHandler server-parsed .html
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.net [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.us [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.us [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.net [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.net [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.biz [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.net [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.us [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|mpeg|mpg|wmv)$ - [NC,F,L]
|
В моем случае виноват сапорт который вместо того чтоб отключить мне htaccess и решить проблему, начал мне предлогать добавить 4гб памяти .
p.s. Хостинг поменял... в .htaccess больше не лезу. |
|
|
|
|
|
|
|