2.4.1.2.4. Защита от ботов
Примечания:
- Проверка не выполняется для IP-адресов, которые добавлены в белый список Firewall.
- Если нужного бота нет в списке, используйте кнопку «Предложить бота».
Принцип работы
Некоторые боты могут создавать бессмысленную нагрузку на сайт или сканировать его на наличие уязвимостей. Для таких ботов доступ к сайту по умолчанию блокируется. Блокировка выполняется по User-Agent, заблокированные боты на все запросы получают ответ 403.
ограниченного
доступа" } blacklist@{ shape: rounded, label: "📋 Чёрный
список IP" } firewall@{ shape: rounded, label: "🔥 Firewall" } subgraph bots [🤖 Боты] list@{ shape: diamond, label: "📋 Бот
есть в списке?" } E[ ]:::empty classDef empty height: 0, width: 0 subgraph rules [Правила] allow@{ shape: rounded, label: "✔️ Всегда разрешать" } ddos@{ shape: rounded, label: "🛡 Разрешать,
но ограничивать во время повышенной нагрузки" } deny@{ shape: rounded, label: "❌ Запретить" } end end countries@{ shape: rounded, label: "🌎 Страны" } suspicious@{ shape: rounded, label: "🔍 Подозрительные IP" } iam@{ shape: rounded, label: "🛡️ I'm Under Attack" } site@{ shape: stadium, label: "✅ Сайт" } error_403@{ shape: stadium, label: "🚫 Ошибка 403" } request-->whitelist request-->blacklist blacklist-->firewall whitelist-->firewall firewall-->list list---E-->|✅|rules allow-->site ddos-->countries deny-....->error_403 list-->|❌ или запрос не от бота|countries countries-->suspicious suspicious-->iam iam-->site firewall-.->site
В цепочке всех этапов защиты сайта защита от ботов идёт после режима ограниченного доступа, чёрного списка IP и Firewall перед ограничением доступа по странам, проверкой подозрительных IP и I'm Under Attack.
Настройка
Настройка выполняется в разделе «Хостинг → Мои сайты → ваш сайт → Защита сайта» на вкладке «Боты»:
Для настройки доступа используйте кнопки в колонке «Правило»:
- ✅ («Всегда разрешать») — боту разрешён доступ к сайту. Исключение: IP-адреса, доступ для которых ограничен с помощью чёрного списка IP или режима ограниченного доступа.
- 🛡 («Блокировать во время повышенной нагрузки на сайт») — если бот попадает под любое правило, которое ограничивает доступ (например, ограничение доступа по странам, I'm Under Attack), то доступ будет запрещён. Полезно использовать, когда нужно, чтобы бот работал, но в случае превышения нагрузки и включения защиты, доступ для него был запрещён и он получал ошибку 429.
- ❌ («Блокировать») — бот будет получать ошибку 403.
Для каждого бота выводится статистика по количеству запросов за последние 3 дня:
- Разрешено — запросы с любыми ответами, кроме 403, 405, 429.
- Запрещено — запросы с ответами 403, 405, 429. Например, запросы от ботов с явно заблокированным доступом или от ботов, которые не прошли защиту. Также сюда входят запросы, которые успешно прошли защиту от ботов, но для которых такой ответ был возвращён другими этапами защиты или самим сайтом (например, правилами
.htaccess).
Список ботов выводится в порядке убывания общего количества запросов (суммы разрешённых и запрещённых) — вверху списка боты с наибольшим количеством запросов, внизу — с наименьшим. Это позволяет быстро оценить, от каких ботов поступает больше всего запросов и для каких из них может понадобиться ограничение доступа.
По умолчанию в списке выводятся только активные боты, по которым были запросы за последние месяцы. Для просмотра полного списка ботов, включая неактивные, отключите опцию «Скрывать неактивных».
Кнопка «Применить правила ко всем сайтам» устанавливает настройки текущего сайта для всех сайтов в данном хостинг-аккаунте. Используйте её, когда у вас много сайтов и для всех нужно установить одинаковые настройки защиты от ботов.
Для сброса настроек в заголовке колонки «Правило» нажмите ↩️ («Восстановить правила по умолчанию для всех ботов»).
robots.txt
С помощью кнопки «Подставлять правила в robots.txt» можно сделать, чтобы в robots.txt вашего сайта автоматически добавлялись правила, которые будут запрещать доступ для заблокированных ботов (❌). Это позволяет в целом сократить количество запросов от ненужных ботов, а не только блокировать их.
Когда подстановка правил включена, происходит следующее:
- При обращении к файлу robots.txt в его начало добавляются правила запрета доступа к сайту для User-Agent заблокированных ботов (см. пример ниже).
- Изменения вносятся на лету, содержимое исходного файла не затрагивается.
- Если файл robots.txt не существует, при обращении к нему будут возвращаться только автоматически добавленные правила.
Любые изменения вступают в силу в течение нескольких минут.
Пример robots.txt с добавленными директивами:
# BEGIN adm.tools Managed content
User-agent: *
Allow: /
User-Agent: AhrefsBot
User-Agent: MJ12bot
User-Agent: DataForSeoBot
User-Agent: barkrowler
User-Agent: Bytespider
User-Agent: GPTBot
User-Agent: meta-externalagent
User-Agent: Baiduspider
User-Agent: meta-webindexer
User-Agent: AhrefsSiteAudit
Disallow: /
# END adm.tools Managed content
<содержимое вашего файла robots.txt>