Руководство по безопасности сайта

Как отличить бота от человека без ложных блокировок

Надёжное решение строится на совокупности сигналов. Скорость, заголовки и JavaScript могут помочь, но ни один из них не является доказательством сам по себе.

Почему одного признака недостаточно

Реальный пользователь может работать через корпоративный NAT, VPN, менеджер паролей или браузер с отключённым JavaScript. Бот может использовать браузер, распределённые адреса и реалистичные заголовки. Поэтому жёсткое правило по IP, User-Agent или наличию JS даёт ложные блокировки.

Соберите несколько независимых сигналов

Смотрите на скорость и регулярность действий, порядок переходов, повторяемость параметров, долю ошибок и соответствие операции ожидаемому сценарию. Для формы добавьте серверную валидацию и ограничение частоты; для входа — контекст аутентификации и защиту от перебора.

Оценивайте сигнал во времени и по конкретному маршруту. Поведение на странице каталога и на endpoint оплаты нельзя сравнивать одной шкалой.

Используйте ступенчатую реакцию

Низкий риск можно пропустить, средний — ограничить по скорости или отправить на дополнительную проверку, высокий — временно отклонить с безопасным ответом. Сохраняйте понятный путь восстановления и наблюдайте за долей ошибочных срабатываний.

Не показывайте атакующему точную причину решения. Внутри системы фиксируйте версию правила, маршрут и обезличенные метрики, чтобы результат можно было проверить.

Частые вопросы

Является ли отсутствие JavaScript признаком бота?

Нет. Это может быть настройка браузера, вспомогательная технология или техническая ошибка. Используйте такой факт только как один из сигналов.

Нужно ли ставить CAPTCHA всем посетителям?

Обычно нет. Ступенчатая проверка для подозрительных операций снижает трение для обычных пользователей и позволяет лучше измерять результат.

Источники и документация

Перейдите от рекомендаций к защите сайта

BotProtection фильтрует автоматизированные обращения перед сайтом. Зарегистрируйтесь, подключите домен по инструкции и сравните трафик с логами, заявками и заказами. Базовый тариф бесплатный; управляемые правила доступны по условиям тарифов. Фильтрация не заменяет серверные проверки, обновления приложения или специализированную сетевую защиту от DDoS.