Боты — это не только плохо. Googlebot, мониторинг, API-интеграции — это нужные боты. Задача — отсеять вредных, не задев полезных.
Как боты атакуют ваш сайт
Ботнет генерирует тысячи HTTP-запросов, имитируя реальных пользователей с валидными заголовками.
Каждый запрос проходит через веб-сервер → приложение → базу данных. CPU и RAM растут.
Приложение перестаёт отвечать. 502/503 для всех пользователей. Бизнес теряет деньги.
Поведенческий анализ, JS-challenge и rate limiting фильтруют ботов от людей.
User-Agent фильтрация
Простые боты не скрывают себя. Блокируем очевидное:
# В server блоке\nif ($http_user_agent ~* (scrapy|curl|wget|python-requests|Go-http-client|java|httpclient)) {\n return 403;\n}\n\n# Пустой User-Agent\nif ($http_user_agent = \"\") {\n return 403;\n}
Проверка Googlebot
Многие боты притворяются Googlebot. Настоящий — приходит с IP Google и проходит reverse DNS.
JavaScript Challenge
Умные боты используют headless-браузеры (Puppeteer, Playwright). Их сложнее отличить, но возможно:
- Cloudflare Bot Management — платно, но эффективно
- JavaScript fingerprinting — проверка поведения браузера
- CAPTCHA на подозрительных — hCaptcha, reCAPTCHA v3