Сервис по подбору
идеального хостинга

Некоторые способы защиты контента через .htaccess

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

1. Защита сайта от добавления картинок с других источников.

Чтобы избежать добавления картинок с других источников на ваш сайт, нужно для защиты уникальности контента добавить в файл .htaccess следующее:

RewriteEngine on

RewriteCond%{HTTP_REFERER}!^$

RewriteCond%{HTTP_REFERER}!^http(s)?://(www\.)?sitename.ru[NC]

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

При выборе такого набора правил нужно сменить sitename.ru на нужное имя.

Рассмотрим вставку подробнее:

RewriteEngine on – данная строчка включает модуль веб-сервера – mod_rewrite. Этот модуль позволяет сменить входящие запросы на сайт через добавления правил, которые записываются на основе регулярных выражений.

RewriteCond %{HTTP_REFERER} !^$ и RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?sitename.ru [NC] – два правила создают отбор по заголовку HTTP_REFERER, к которому присоединяется RewriteRule. В таком случае действие выполняют все адреса, исключая ваш сайт.

RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L] – конечное правило, при котором всем ссылкам, что оканчиваются на .(jpg|jpeg|png|gif), можно возвратить код 403 (F).

2. Запрет использования ваших изображений на сторонних сайтах.

Заблокировать копирование изображений другими сайтами, пользователями с вашего сайта можно с помощью следующей вставки для защиты уникальности контента:

RewriteEngine on

RewriteCond %{HTTP_REFERER} banurl1.ru [NC,OR]

RewriteCond %{HTTP_REFERER} banurl2.ru [NC,OR]

RewriteRule \.(jpg|jpeg|png|gif)$ - [F]

Домены banurl1.ru и banurl2.ru надо сменить на те, где изображения с сайта не должны быть опубликованы, таким образом создается так называемый черный список.

Например, если нужно запретить просмотр изображений, размещенных на вашем сайте, пользователям e1.ru, то надо вставить этот домен в RewriteCond. Можно заблокировать нежелательных посетителей, которые копируют ваш материал. Для этого нужно внести маленькое изменение в следующее правило:

RewriteRule .* - [F]

3. Блокировка браузеров, требующих запросов.

Иногда случается, что работу сайта сканируют роботы, создавая видимость работы браузера. Выяснить и заметить подобное можно, отсканировав файл access-лога для сайта на тип количества посещений с определенного IP-адреса.

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

RewriteEngine On

RewriteBase /

SetEnvIfNoCase Referer "^$" bad_user

SetEnvIfNoCase User-Agent "^badrobot1" bad_user

SetEnvIfNoCase User-Agent "^badrobot2" bad_user

Deny from env=bad_user

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

RewriteBase – эта строчка указывает, с какого места считать начальным адрес для ожидающей следующей обработки URL. К примеру, если у вас на сайте создан форум, который находится по адресу: http://sitename.ru/forum/, то и значение указываете как /forum/.

Вставка SetEnvIfNoCase дает возможность установить переменную окружения и произвести для нее определенные действия. К примеру, нужное вам действие это – Deny from env=bad_user – а именно запрет на посещение вашего сайта, если под видом браузера будет название, которое начинается с badrobot1 или badrobot2.