РекламаСамый популярный VDS-хостинг в России, от 199 рублей в месяц!
Перенесите к нам свои сайты от другого хостинг-провайдера и вы получите: скидку 40% на VDS, бесплатный пакет администрирования на месяц и секретный бонус после переезда.

Защита изображений от хотлинка на NGINX

 9 сентября 2018      
 Домены и хостинг      
 Комментариев еще нет      
 125

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

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

Вы скажете магия? Как такое возможно? В этой статье я приведу пример для веб-сервера NGINX.

Защита от Hotlink в NGINX

Если вы используете NGINX как фронтенд вашего сервера, то добавьте следующие строки в конфигурационный файл:

location ~ .(gif|png|jpeg|jpg|svg)$ {
     valid_referers none blocked ~.google. ~.bing. ~.yahoo. ~.yandex. yourdomain.com *.yourdomain.com;
     if ($invalid_referer) {
        return   403;
    }
}

где yourdomain.com — имя домена вашего сайта.

После этого перезагрузите NGINX.

Как работает эта конфигурация

В строке location вы указываете расширения файлов на которые распространяется данное правило. В строке valid_referers none blocked перечислены домены которым разрешено показывать ваши изображения. Условие if ($invalid_referer) говорит о действии для всех других доменов вне разрешенного списка. В нашем примере сервер отправит ошибку 403, что говорит о том, что доступ к файлу запрещен. Сайт злоумышленника останется в таком случае без изображений с вашего сайта.

Как усложнить жизнь жуликам

Можно пойти дальше и испортить настроение жуликам ворующим ваши изображения, а заодно и предупредить посетителей, что они находятся на сайте владелец которого использует ваши изображения. Для этого вместо ошибки 403 сервер может отдать другое изображение, например с посланием для посетителей.

location ~ .(gif|png|jpeg|jpg|svg)$ {
     valid_referers none blocked ~.google. ~.bing. ~.yahoo. ~.yandex. yourdomain.com *.yourdomain.com;
     if ($invalid_referer) {
        rewrite ^(.*)$ https://anotherdomain.com/hotlink.jpg break; 
     break;
    }
}

В данном примере для всех запрещенных доменов вместо всех изображений вашим сервером будет показываться картинка-заглушка находящаяся по адресу https://anotherdomain.com/hotlink.jpg. Например такая:


Защита изображений от хотлинка на NGINX

Пример картинки при защите изображений от хотлинка

Если вы где-то видели эту картинку, то скорее всего владелец такого сайта ворует у меня контент и/или изображения.

Рекомендую прочесть:  Свежие скидки на хостинг Adman.com для читателей блога

Что такое хотлинкинг

Технология хотлинкинга проста. Вы находите изображение в Интернете и используете URL-адрес изображения непосредственно на своем сайте. Это изображение будет отображаться на вашем веб-сайте, но оно будет отправлено с исходного места. Это очень удобно так как не нужно переносить изображение к себе на сайт, но это на самом деле кража, поскольку вы используете ресурсы чужого сайта.

Почему хотлинкинг это плохо

Если отбросить моральную сторону воровства, то защищаться от HotLinking нужно по следующим причинам:

  • Жулики используют ресурсы вашего сервера для показа изображений, в частности трафик, что может вызвать финансовые потери с вашей стороны.
  • Хотлинкинг создает дополнительную нагрузку на хостинг, это может привезти к недоступности вашего сайта и соседей на сервере.

Благодарности

При написании статьи были использованы следующие источники:

  1. https://kinsta.com/blog/hotlinking/
  2. https://www.remoteshaman.com/server/nginx/nginx-hotlinking-protection
  3. https://forum.vestacp.com/viewtopic.php?t=14591
  4. https://ktonanovenkogo.ru/vokrug-da-okolo/webmaster/zapreshhaem-xotlink-hotlink-v-apache-nginx-zashhitit-kartinki.html
Поделись этой страницей с друзьями!

Прочтите это обязательно

Файл .htaccess по-умолчанию для WordPress

Эта статья будет полезна тем кто утратил оригинальный файл .htaccess от WordPress сайта. Он ( ...

WordPress htaccess wordpress Далее

С жульем нужно бороться или как защитить свой сайт от воровства контента

В этой статье я расскажу грустную историю (но со счастливым концом) как у меня полностью своровали содержимое ...

Вебмастеру css hotlink javascript nginx Далее

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности.

2018 © Технический блог
SQL - 73 | 0,284 сек. | 8.34 МБ
доступность сайта