Друзья, сегодня коротенький пост, о проблеме, которая возникла у меня на сайте, где я размещал много картинок. Мои картинки стали нагло воровать, более того не заливая на свой сервер, а загружая с моего. Нагрузка на сервер увеличилась, сервер иногда стал падать на время. Такой процесс называется — хотлинкинг.
Я решил сделать изменения в .htaccess файле. Файл .htaccess есть практически на каждом хостинге, если у вас нет, то создайте его. Если у вас и с этим сложность, то обратитесь в хостинг-компанию, которая обслуживает ваш хостинг, они помогут создать этот файл.
Затем добавьте следующие команды.
Что делать для прекращения хотлинкинга сайта
Ваш сайт называется www.svojblog.com. Для того, чтобы остановить хотлинкинг к изображениям на вашем сайте, и вместо всех изображений на всех чужих сайтах показывать изображение, которое находится на бесплатном фото хостинге, например, flickr.com по адресу — http://farm9.staticflickr.com/8239/8610809796_8e022cd190_d.jpg ), вставьте следующий кусок кода в файл .htaccess:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https://(.+\.)?svojblog\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ https://farm9.staticflickr.com/8239/8610809796_8e022cd190_d.jpg [L]
Первая линия кода включает функцию rewrite. Вторая строка блокирует url любых чужих сайты, кроме svojblog.com. Третья строку просто копируете. Четвертая строка определяет и заменяет все файлы изображений jpeg, jpg, gif, bmp, png на изображение находящееся по адресу http://farm9.staticflickr.com/8239/8610809796_8e022cd190_d.jpg. Либо Вы можете указать путь к изображению, который находится на вашем сайте, что-то вроде «изображение взято с сайта svojblog.com». Только создайте маленькое изображение, чтобы не перегружался сервер. В любом случае, лучше использовать бесплатный фотохостинг типа flickr.com.
Хотлинкинг для конкретного сайта
Для того, чтобы остановить хотлинкинг изображений для конкретного вебсайта, например, ЖЖ или blogspot.com, используйте команды:
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?livejournal\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?blogspot\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(.+\.)?livejournal\.ru/ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png)$ https://farm7.staticflickr.com/6184/6045683644_e3f89ec712_d.jpg [L]
Вы можете добавить под второй строкой любые сайт, какие захотите.
Хотлинкинг изображений и 403 ошибка
Вы также можете показывать 403 ошибку вместо картинки. Я не очень это советую, лучше в изображение на бесплатном хостинге вставить упоминание о своем блоге. Для 403 ошибки используйте код:
RewriteRule .*\.(jpe?g|gif|bmp|png)$ — [F]
Помните также, что использовать .htaccess для перенаправления изображений на другую HTML-страницу или сервер — нельзя только изображения.
Итак, надеюсь, этот урок поможет прекратить «бездушное» использование ресурсов вашего хостинга! Удачного блогинга!
Здравствуйте. Сделал все как написано в Вашей статье, только на первое время изображение, которое покажется вместо украденного, загрузил не на бесплатный , а на свой хостинг, а как теперь проверить все ли работает?
Отличный способ защититься от воров. Пригодилось :) Спасибо!