Запрет сканирования сайтов плохими ботами с использованием User-Agent в .htaccess
Веб-сайты часто сталкиваются с проблемами, вызванными ботами, которые могут сканировать контент, собирать данные или даже проводить атаки. Один из эффективных способов блокировки нежелательных ботов — использование файла .htaccess в сервере Apache для блокировки по User-Agent. User-Agent — это строка, которая идентифицирует клиента (браузер или бот), который делает запрос к вашему сайту.
Определение плохих ботов
Прежде чем перейти к настройке .htaccess, важно определить, кого мы считаем плохими ботами. Обычно это боты, которые:
- Собирают контент без разрешения (скраппинг).
- Пытаются найти уязвимости на сайте.
- Провоцируют высокую нагрузку на сервер.
Как это работает?
Файл .htaccess позволяет настраивать различные параметры конфигурации веб-сервера. Блокировка по User-Agent включает в себя проверку строки User-Agent, отправляемой клиентом, и блокировку запросов от нежелательных ботов на основе этой строки.
Пример настройки .htaccess для блокировки плохих ботов
Вам нужно добавить следующие правила в файл .htaccess, который расположен в корневой директории вашего сайта. Вот пример конфигурации:
<IfModule mod_rewrite.c> RewriteEngine On # Блокировка ботов по User-Agent с присутствием ключевых слов # (точное совпадение) RewriteCond %{HTTP_USER_AGENT} "AhrefsBot" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "DotBot" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "SemrushBot" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "python-requests" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "TameTheBots-Robot-Checker" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "Go-http-client" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "Custom-AsyncHttpClient" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "curl" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "keys-so-bot" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "ev-crawler" [NC,OR] RewriteCond %{HTTP_USER_AGENT} "MJ12bot" [NC] RewriteRule .* - [F,L] </IfModule>
Вставьте правила блокировки User-Agent в файл .htaccess. Обычно их размещают в начале файла, перед другими настройками.
Проверьте работоспособность
После внесения изменений важно проверить, что ваши правила работают корректно. Это можно сделать, отправив запрос к вашему сайту с User-Agent, который вы заблокировали. Например, вы можете использовать инструменты разработчика в браузере или утилиты вроде curl
для тестирования:
curl -A "Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html" https://yourdomain.com
Как определить плохих ботов?
- Анализ логов: Просматривайте логи вашего веб-сервера, чтобы найти подозрительные User-Agent строки. Это могут быть боты с известными именами или неизвестные агенты, которые делают много запросов.
- Используйте списки известных ботов: Существуют списки User-Agent строк, используемых вредоносными ботами, которые можно использовать для блокировки.
- Обратите внимание на необычную активность: Если вы замечаете, что определенные User-Agent строки делают много запросов или вызывают ошибки на вашем сайте, это может быть признаком нежелательного бота.
Регулярно обновляйте файл .htaccess, чтобы включать новые User-Agent строки, которые могут появиться. Боты могут изменять свои User-Agent строки, поэтому важно периодически проверять и обновлять список заблокированных агентов.
Подведём итоги
Блокировка плохих ботов по User-Agent с помощью .htaccess — это простой и эффективный метод защиты вашего сайта от нежелательного сканирования и атак. Этот метод помогает сохранить ресурсы сервера и защитить контент сайта. Важно следить за изменениями в активности ботов и периодически обновлять правила блокировки для поддержания высокого уровня безопасности.
Продвигаете свой телеграм-канал, чат или бот? Тогда добавьте их в наш телеграм-каталог TGLand.ru.