Защита от хотлинка (hotlinks) с помощью .htaccess
Новая тема Написать ответ
# Пт Янв 27, 2006 5:49 amNo Зарег.: 01.08.2005 ; Сообщ.: 3746Ответить с цитатой
Защита от хотлинка (hotlinks) с помощью .htaccess


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

Как защитится от таких хитрожопых владельцев? Допустим ваш сайт www.thehun.net (уже нехуево Smile )

Пропишите нижеследующие строки в файле .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 и набрав, если так удобней Smile, в браузере 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]



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


(с) No
# Пт Фев 03, 2006 11:34 pmRabbit Зарег.: 01.08.2005 ; Сообщ.: 19787Ответить с цитатой
No, спасибо, нужная вещь - эта защита...
# Сб Фев 04, 2006 3:12 amkapon Зарег.: 31.12.2005 ; Сообщ.: 1989Ответить с цитатой
полезная вешчьSmile) Wink
# Ср Июл 05, 2006 7:35 pmAndrej Зарег.: 05.07.2006 ; Сообщ.: 3Ответить с цитатой
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)?
# Чт Июл 13, 2006 2:43 amNo Зарег.: 01.08.2005 ; Сообщ.: 3746Ответить с цитатой
Цитата:
А как можно перенаправить все запросы к видео (mpg,mpeg,wmv)?


Код:
RewriteRule \.(jpe?g|gif|bmp|png)$ - [F]

вместо картинок (расширения jpg, gif и т.д.), пропиши расширения требуемых видео файлов
# Чт Июл 13, 2006 11:26 pmGermes Зарег.: 13.07.2006 ; Сообщ.: 3054Ответить с цитатой
А вот примочка для ленивых хттп://www.htaccesstools.com/hotlink-protection/. Есть кроме этого еще кое-какие полезные фишки.
# Вс Сен 10, 2006 11:45 pmMr.UFO Зарег.: 13.08.2006 ; Сообщ.: 513Ответить с цитатой
А если я сам тащу с других сайтов картинки, непохерит ли такая хитрая конструкция их?
# Пн Сен 11, 2006 12:06 amGermes Зарег.: 13.07.2006 ; Сообщ.: 3054Ответить с цитатой
Если ты тащишь со своих ресурсов, то их можно прописать, и сможешь тащить как и прежде. Если с чужих то сам понимаешь.
# Пн Сен 11, 2006 12:08 amCountZero Зарег.: 04.01.2006 ; Сообщ.: 541Ответить с цитатой
похерит, если неправильно тащишь...
# Пн Сен 11, 2006 1:09 amAndrej Зарег.: 05.07.2006 ; Сообщ.: 3Ответить с цитатой
Мой совет всем новичкам... с проблемами антихотлинка и .htaccess лучше обращаться к админу сервера.... потому что любая ошибка может убить сайт, особенно если это сидж.

У меня так и произошло, прописал в .htaccess антихотлинк (htaccesstools.com) .. потом начал сидж раскручивать, дошёл до 45к ... и сервер завис - оперативной памяти не хватило.

Shout :D
# Пн Сен 11, 2006 2:12 amGermes Зарег.: 13.07.2006 ; Сообщ.: 3054Ответить с цитатой
чегож ты там такого прописал то?
# Пн Сен 11, 2006 3:12 amAndrej Зарег.: 05.07.2006 ; Сообщ.: 3Ответить с цитатой
Примерно вот так:
Цитата:

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гб памяти Smile.

p.s. Хостинг поменял... в .htaccess больше не лезу.
Новая тема Написать ответ    ГЛАВНАЯ ~ ПОЛЕЗНЫЕ СТАТЬИ
 
Любое использование материалов, размещенных на ArmadaBoard.com, без разрешения владельцев ArmadaBoard.com запрещено.