Каждый владелец более или менее раскрученного сайта сталкивается с такой ситуацией, когда изображения, размещенные на его сайте публикуются без его ведома на каких-то сторонних ресурсах. Причем не с помощью банального копирования, а с загрузкой непосредственно с вашего сервера. Сегодня мы положим этому конец!
На первый взгляд, это вроде бы и не проблема, и с одной стороны, казалось бы даже хорошо, что вас цитируют. Но когда это явление носит массовый характер, и ресурсы, использующие ваши материалы, достаточно посещаемы, проблема может стать просто критической. А именно, в плане использования ресурсов вашего сервера. Особенно это касается сайтов размещенных на виртуальных хостингах, допустимые ресурсы которых и без того весьма ограничены. Кроме этого, используемый контент может являться объектом вашей интеллектуальной собственности, использование которого третьими лицами вообще не входило в ваши планы. А если плюс ко всему вы еще и платите за исходящий трафик? Итог может быть очень грустным.
Данная проблема решается очень просто с помощью нескольких строк в файле конфигурации веб-сервера или в файле .htaccess.
Допустим, ваш сайт имеет адрес domain.com.
RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://(www\.)?domain.com/ [NC] RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://otherdomain.com/noimage.png [NC,L]
Тогда при запросе изображения с вашего сайта будет осуществляться небольшая проверка происхождения запроса. Если запрос осуществлен внутри вашего домена, тогда ничего особенного не произойдет — изображение отобразится как и прежде. А если изображение запрашивается с другого домена, тогда пользователю вернется изображение noimage.png, в котором вы можете кратко выразить свои мысли о тех, кто нелегально использует хотлинк. Это изображение разумнее разместить на каком-нибудь стороннем ресурсе. Если вы хотите отдавать его с вашего домена, тогда в .htaccess нужно добавить такую строчку:
RewriteCond %{REQUEST_URI} !noimage\.png$ [NC]
То же самое касается, к примеру, баннеров, которые вы целенаправленно отдаете со своего сайта для открутки на других ресурсах.
RewriteCond %{REQUEST_URI} !banner1\.gif$ [NC] RewriteCond %{REQUEST_URI} !banner2\.gif$ [NC]
Иначе они тоже могут попасть под запрет от хотлинка.
Это далеко не самое полное и идеальное решение защиты от хотлинка. Оно скорее самое элементарное и самое универсальное. Владельцы сайтов на WordPress могут вообще не заморачиваться с кодом и установить, например, плагин Hotlink Protection или любой другой ему подобный.
Больше полезных материалов по веб-разработке на моем канале в Телеграм.
Обязательно подпишитесь.
Вопрос по теме:
для того чтобы скрыть картинки в коде нужно добавить в фаил .htaccess. — 3 строчки. Подскажите если уже имю вот такой вид в нутри файла:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Что мне следует добавить а что оставить?
Заранее благодарю.