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

Как защитить WebSocket и real-time API от ботов

Защита WebSocket не заканчивается на handshake: автоматизированный клиент может открыть соединение и отправлять сообщения с высокой частотой. Проверяйте авторизацию и лимиты на каждом действии.

Защитите установку соединения

Проверяйте аутентификацию, Origin по разрешённому списку, размер заголовков и лимиты соединений. Origin полезен для браузерного контекста, но не заменяет авторизацию и не защищает от небраузерных клиентов.

Не передавайте долгоживущие секреты в URL, где они могут попасть в логи и историю. Предусмотрите срок действия токена и его отзыв.

Авторизуйте каждое сообщение

Проверяйте права на канал, объект и тип события на сервере. Ограничивайте размер сообщений, частоту событий, число подписок и стоимость вычислений на соединение.

Учитывайте квоты по аккаунту и сессии наряду с IP, чтобы несколько клиентов за одним NAT не блокировали друг друга.

Контролируйте жизненный цикл соединения

Устанавливайте idle timeout, heartbeat и лимиты ресурсов. Безопасно закрывайте соединения при отзыве прав и не отправляйте клиенту внутреннюю причину антибот-решения.

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

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

Достаточно ли ограничить WebSocket по IP?

Нет. Один адрес может быть общим для множества пользователей, а клиент может менять адреса. Учитывайте учётную запись, соединение, операцию и частоту сообщений.

Защищает ли проверка Origin от всех ботов?

Нет. Origin ограничивает браузерные сценарии, но не является аутентификацией и может отсутствовать у небраузерных клиентов.

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

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

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