Защита от хотлинка (hotlinks) с помощью .htaccess

Новая тема Написать ответ    ГЛАВНАЯ ~ СТАТЬИ

No
я здесь ельцин
Зарегистрирован: 01.08.2005
Сообщ.: 3747
Обратиться по нику

# Добавлено:Пт Янв 27, 2006 2:49 amОтветить с цитатой
Защита от хотлинка (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
3;[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-]+.)*yourdomai
n.com(:80)?(/.*)? [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii
3;[Ff]$ http://www.thehun.net/nahui.html [L,R]



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


(с) No
Миллионы микробов умрут

Rabbit
Кролики - это не только ценный мех
Зарегистрирован: 01.08.2005
Сообщ.: 18888
Звезда (Сумма: 1)
Обратиться по нику

# Добавлено:Пт Фев 03, 2006 8:34 pmОтветить с цитатой
No, спасибо, нужная вещь - эта защита...
Гость, деньги тут !
GlavMed - лей трафик и живи без бед!
RenGoDating - $2 за анкету серфера, супер конвертация.

kapon
Banned
Зарегистрирован: 30.12.2005
Сообщ.: 2014
Обратиться по нику

# Добавлено:Сб Фев 04, 2006 12:12 amОтветить с цитатой
полезная вешчь:smile:) :wink:
Гость попробуй McColo - хостинг. Надежный партнер в серьезных проектах. ICQ 477771 и 407737

Andrej
Свой
Зарегистрирован: 05.07.2006
Сообщ.: 3
Обратиться по нику

# Добавлено:Ср Июл 05, 2006 4:35 pmОтветить с цитатой
No писал(а):

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

Код:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://([a-z0-9-]+.)*yourdomai
n.com(:80)?(/.*)? [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii
3;[Ff]$ http://www.thehun.net/nahui.html [L,R]





А как можно перенаправить все запросы к видео (mpg,mpeg,wmv)?

No
я здесь ельцин
Зарегистрирован: 01.08.2005
Сообщ.: 3747
Обратиться по нику

# Добавлено:Ср Июл 12, 2006 11:43 pmОтветить с цитатой
Цитата:
А как можно перенаправить все запросы к видео (mpg,mpeg,wmv)?


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

вместо картинок (расширения jpg, gif и т.д.), пропиши расширения требуемых видео файлов
Миллионы микробов умрут

Germes
V.I.P.
Зарегистрирован: 13.07.2006
Сообщ.: 3042
Обратиться по нику

# Добавлено:Чт Июл 13, 2006 8:26 pmОтветить с цитатой
А вот примочка для ленивых хттп://www.htaccesstools.com/hotlink-protection/. Есть кроме этого еще кое-какие полезные фишки.
Гость, 3а нас наука. Анархия, батенька, не игрушка...
-Почему у тебя синяк под глазом? -А пусть не лезут.

Mr.UFO
Опытный
Зарегистрирован: 13.08.2006
Сообщ.: 339
Обратиться по нику

# Добавлено:Вс Сен 10, 2006 8:45 pmОтветить с цитатой
А если я сам тащу с других сайтов картинки, непохерит ли такая хитрая конструкция их?
Портал Сволочи | Хвостинг

Germes
V.I.P.
Зарегистрирован: 13.07.2006
Сообщ.: 3042
Обратиться по нику

# Добавлено:Вс Сен 10, 2006 9:06 pmОтветить с цитатой
Если ты тащишь со своих ресурсов, то их можно прописать, и сможешь тащить как и прежде. Если с чужих то сам понимаешь.
Гость, 3а нас наука. Анархия, батенька, не игрушка...
-Почему у тебя синяк под глазом? -А пусть не лезут.

CountZero
Профессионал
Зарегистрирован: 04.01.2006
Сообщ.: 524
Обратиться по нику

# Добавлено:Вс Сен 10, 2006 9:08 pmОтветить с цитатой
похерит, если неправильно тащишь...
Домены
Блог Спекулянта

Andrej
Свой
Зарегистрирован: 05.07.2006
Сообщ.: 3
Обратиться по нику

# Добавлено:Вс Сен 10, 2006 10:09 pmОтветить с цитатой
Мой совет всем новичкам... с проблемами антихотлинка и .htaccess лучше обращаться к админу сервера.... потому что любая ошибка может убить сайт, особенно если это сидж.

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

:o: :D

Germes
V.I.P.
Зарегистрирован: 13.07.2006
Сообщ.: 3042
Обратиться по нику

# Добавлено:Вс Сен 10, 2006 11:12 pmОтветить с цитатой
чегож ты там такого прописал то?
Гость, 3а нас наука. Анархия, батенька, не игрушка...
-Почему у тебя синяк под глазом? -А пусть не лезут.

Andrej
Свой
Зарегистрирован: 05.07.2006
Сообщ.: 3
Обратиться по нику

# Добавлено:Пн Сен 11, 2006 12:12 amОтветить с цитатой
Примерно вот так:
Цитата:

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 больше не лезу.
Новая тема Написать ответ    ГЛАВНАЯ ~ СТАТЬИ

Перейти:  

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




Генеральный спонсор



реклама на сайте

Rambler's Top100 Рейтинг@Mail.ru