Ограничение доступа для ботов

Бывает частая ситуация, когда боты создают высокую нагрузку на сайт, тем самым потребляют лишние ресурсы CPU и RAM и это может приводить к замедлению работы сайта. Есть полезные боты, например поисковые системы, а есть бесполезные, которые сканируют сайт например для сбора каких-то данных или поиска уязвимостей на сайте.

И иногда возникает желание заблокировать доступ таким бесполезным ботам.

Это можно сделать в файле .htaccess, если у Вас уже есть этот файл в корне сайта, то достаточно просто добавить записи, если этого файла нет, то просто создайте его в корне своего сайта.

Блокировать ботов можно следующей конструкцией:

Deny from 192.168.0.100

Такой записью Вы блокируете доступ для всех запросов к сайту с IP 192.168.0.100

Также бывает необходимость закрыть доступ к сайту для всех, но оставить доступ только для своего IP, в этом случае запись будет выглядеть так:

Order Deny,Allow 
Deny from all
Allow from 192.168.0.100

Если у бота много IP и они постоянно меняются то можно блокировать его по user-agent значению:

BrowserMatchNoCase "SemrushBot" bots
BrowserMatchNoCase "AhrefsBot" bots
BrowserMatchNoCase "MJ12bot" bots
Order Allow,Deny
Allow from all
Deny from env=bots

Ниже приведен пример как заблокировать все POST запросы, но при этом оставить GET запросы:

RewriteCond %{REQUEST_METHOD} POST
RewriteRule .* – [F,L]
Этот материал был полезным?

Похожие материалы

Нужна поддержка?

Не можете найти ответ на интересующий вас вопрос?
Contact Support