Немного хочу рассказать о том зачем нужна защита картинок сайта. Я не хочу сказать, что мне жалко, если кто-то скопирует обычным способом какие-то картинки со страниц сайта. Это нормально, все мы берём какую-то информацию из интернета, в том числе и картинки.

Но вот есть такие «пираты», которые не хотят думать головой (а может и думать не чем) и копируют Ваш сайт или отдельные страницы, на которых конечно же есть изображения и вставляют полные копии на страницы своего сайта. Этот процесс называется «хотлинкинг».  Что в этом случае произойдёт….

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

Сделать её не сложно, для этого необходимо прописать в файле .htaccess несколько правил, защищающих от хотлинков. Эти правила выглядят примерно так, а почему примерно объясню ниже

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?:

RewriteRule .(jpg|jpeg|png|gif)$ - [NC,F,L]

Вам необходимо добавить вместо vash-site.ru ваш домен, а для всех остальных Hotlinking будет под запретом.

Если Вамнеобходимо все же отдавать со своего сервера некоторые графические изображения, например свой баннер для вставки на других проекта или чего еще, то необходимо добавить еще один пункт в эти правила, а именно разрешение на копирование баннера, который обозначен в этом примере как banner.gif

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?:

RewriteCond %{REQUEST_URI} !banner.gif$ [NC]

RewriteRule .(jpg|jpeg|png|gif)$ - [NC,F,L]

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

Поэтому смело добавляем все те домены, где вы хотели бы иметь возможность лицезреть свою графику подгруженную по хотлинку. Для примера я добавил к разрешенным домен Google и Код запрета hotlink в результате может выглядеть так:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?:

RewriteCond %{REQUEST_URI} !banner.gif$ [NC]

RewriteCond %{HTTP_REFERER} !^http(s)?:

RewriteCond %{HTTP_REFERER} !^http(s)?:

RewriteRule .(jpg|jpeg|png|gif)$ - [NC,F,L]

Существуют и альтернативные варианты, которые вы можете нагуглить, но главное, чтобы работало.

И еще хочу обратить внимание на то, что такой способ будет работать только если у Вас на сервере установлен Apache.

 

Статья была полезной?