Бывает частая ситуация, когда боты создают высокую нагрузку на сайт, тем самым потребляют лишние ресурсы 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]