Защита от хотлинка при помощи .htaccess

Чтобы предотвратить хотлинк со всех сторонних доменов и показать им картинку-заглушку, а вот так можно перенаправить все запросы к картинкам, за исключение только тех, которые идут с вашего собственного домена

Защита от хотлинка при помощи .htaccess

» » Сообщение:

Код: Выделить всё Развернуть
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://my-site.ru.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.my-site.ru.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://my-site\.ru:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.my-site.ru:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://7.78.21.222.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://7.78.21.222:80.*$ [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$ http://www.my-site.ru/nahui.html

Где:
my-site.ru - ваш сайт, а:
7.78.21.222 - IP вашего сайта.

Чтобы предотвратить хотлинк со всех сторонних доменов и показать им картинку-заглушку:

Код: Выделить всё Развернуть
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?my-site\.ru/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpe?g|gif|bmp|png)$ images/nohotlink.jpg [L]

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

Код: Выделить всё Развернуть
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(www\.)?bad-site\.net/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?bad-site\.com/ [NC]
RewriteRule \.(jpe?g|gif|bmp|png)$ - [F]

Будет возникать ошибка 403 forbidden.

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

Код: Выделить всё Развернуть
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://([a-z0-9-]+.)*my-site.ru(:80)?(/.*)? [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$ http://www.my-site.ru/nahui.html [L,R]

Для того, чтобы полностью запретить хотлинкинг файлов сайта, нужно проверять заголовок REFERER на соответствие с вашим сайтом:

Код: Выделить всё Развернуть
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(.*)?my-site\.ru/.*$ [NC]
RewriteRule \.(jpg|jpeg|png|bmp|gif|swf|css|js)$ - [NC,F,L]

При несоответствии или пустом - отдать 403.

Если нужно разрешить определенным сайтам подгрузку файлов - например, сайтам-партнерам или поисковым системам, можно дополнить условие, указав домены, которым разрешено хотлинк:

Код: Выделить всё Развернуть
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(.*)?(my-site\.ru|othersіte\.com|google(.*)|yandex(.*))/.*$ [NC]
RewriteRule \.(jpg|jpeg|png|bmp|gif|swf|css|js)$ - [NC,F,L]

ps

Не забываем включить поисковых ботов в списки исключений, есть вам важна индексация картинок!

Доступно только для зарегистрированных пользователей.

хотлинк, 403, forbidden, защита, htaccess, hotlinks, картинкам, собственного, запросы, перенаправить, сторонних, доменов, показать, предотвратить



Похожие темыКомментарии ПросмотрыПоследнее сообщение
0392Блокировка POST-запросов с помощью ...
Сообщение от: Admin
13502Настройка через htaccess php value ...
Сообщение от: flejegree
0687Редирект на https с помощью htacces...
Сообщение от: Admin
0649Как убрать www и index.php из url с...
Сообщение от: Admin
0351Запрет в htaccess на POST запрос
Сообщение от: Admin