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