директивы скрипта защиты

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

Принцип работы скрипта

Скрипт отлавливает по IP ботов , которые посещают ваш сайт со слишком любезной частотой, после чего блокирует их на некоторое время. Временной отрезок и частота визитов в нём устанавливается вручную, по умолчанию стоит 3 визита в течение 15 секунд, превышение этого интервала приводит к блокировке бота на 1 минуту.

Защита сайта от ботов может регулироваться прямо в файле скрипта, то есть можно установить любой промежуток времени и количество посещений сайта, после которого происходит блокировка. Конечно, скрипт блокирует и посетителей, которые бегают по страницам со скоростью баллистической торпеды, но это не беда – от таких визитёров всё равно толку ноль, что-то покупать они не будут.

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

Чем поможет скрипт

Данный скрипт:

  1. - Снизит нагрузку на сервер,
  2. - Защитит сайт от стороннего сканирования, в том числе и с целью копирования,
  3. - Сэкономит трафик на сервере.

Как установить защиту

расположение скрипта на хостинге

В папке block, которая предложена внизу на скачку, две папки и скрипт index.php. Папки называются active и block, в первой будут в онлайн режиме показываться активные посетители, во второй заблокированные из-за сомнительно высокой активности. Папка block с внутренними папками и скриптом размещается в корень сайта, после чего в index.php шаблона в пределах тега <head> вносится код

<?require_once $_SERVER['DOCUMENT_ROOT'].'/block/index.php';?>

Это код подключает скрипт при загрузке страницы.

Настройка

Все настройки доступны по адресу /block/index.php, где можно указать (скрин):

  1. - В const intervalSeconds – отслеживаемый интервал времени,
  2. - В const blockSeconds – время блокировки бота,
  3. - В const intervalTimes – количество запросов в заданный интервал.

Также можете указать:

  1. - public static $alwaysBlock = array – всегда заблокированные IP,
  2. - public static $alwaysActive = array – всегда разрешённые IP.

Не забывайте, что есть и нужные для сайта боты, в том числе роботы поисковых систем, которые могут легко попасть под блокировку и ресурс вылетит из индекса, как пробка из шампанского. Чтобы этого не случилось, пропишите в файле robots директиву

Crawl-delay:

В ней укажите интервал сканирования ботами ПС с учётом настройки скрипта. Например, вы задали блокировку при более чем трёх визитах в интервал 15 секунд, значит в Crawl-delay надо выставить интервал от 4 секунд.

Скачать папку с решением можно прямо с блога Zegeberg.