Поиск:

Поиск по:

Результаты поиска по запросу «»
Найдено совпадений
По вашему запросу ничего не найдено
.
Показать еще

Некоторые способы защиты контента через .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. С помощью модуля 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. Можно пойти немного дальше и заблокировать посетителей, приходящих с неугодных ресурсов. В этом случае нужно будет поправить последнее правило до следующего вида:

RewriteRule .* - [F]

3. Блокирование запросов от определенных браузеров

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

Не будем перечислять здесь все причины, по которым кто-то сканирует сайты, стоит лишь отметить, что в некоторых случаях это может создавать значительную нагрузку (очень актуально для VDS, на которых размещаются тяжелые и сложные веб-сайты), в некоторых случаях это может грозить безопасности сайта ну и в принципе вызывать много других проблем. Можно очень просто заблокировать доступ к сайту конкретным роботам, добавив в файл .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.

Регистрация доменов

в зонах .RU .РФ

от 200 рублей Зарегистрировать домен

SSL сертификаты

Подтверждение сайта и надежная защита

передаваемых данных

Купить сертификат

Облачные VDS

дешевле чашки кофе

Процессорных ядер: 4, Память: 4 Гб, Диск: 20 Гб SSD, Резервное копирование

от 35 р/день Заказать VDS

Все, что нужно от хостинга

Простое решение для вашего сайта

Подробнее

Хранилище данных

Храни что хочешь по смешным ценам

Почасовая оплата за размещенные данные.

Заказать хранилище