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

Rate limiting для сайта: практическое руководство

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

Лимитируйте по сценарию

Разные операции имеют разную стоимость и профиль трафика. Настраивайте отдельные пороги для входа, поиска, отправки формы и дорогих API-операций. Слишком общий лимит способен заблокировать нормальную работу всего сайта.

Выбирайте ключ и окно осознанно

IP-адрес удобен для анонимного трафика, но общий адрес может принадлежать многим людям, а распределённые запросы — идти с множества адресов. Для аутентифицированных запросов можно учитывать пользователя или приложение. Настройка должна быть согласована с доверенными прокси: нельзя безусловно доверять произвольному X-Forwarded-For.

Тестируйте короткие всплески и длительный поток, учитывайте распределённую инфраструктуру и синхронизацию счётчиков.

Возвращайте понятный сигнал

HTTP 429 Too Many Requests обозначает превышение допустимой частоты. При необходимости ответ может содержать Retry-After с временем, когда клиенту можно повторить запрос. Не раскрывайте внутренние пороги и детали реализации.

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

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

Одинаковый ли лимит подходит всем endpoint?

Обычно нет: стоимость операции, доступность анонимным пользователям и ожидаемая частота запросов отличаются.

Что означает HTTP 429?

Сервер сообщает, что клиент отправил слишком много запросов за заданный период. Ответ может включать Retry-After, указывающий, как долго ждать перед повтором.

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

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

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