Лимиты запросов

Назначение

Лимиты запросов (Rate limits) позволяют ограничить количество запросов к выбранным URI за заданный период времени.

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

Когда использовать лимитные правила

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

Типовые сценарии:

  • защита страницы входа от перебора паролей;

  • ограничение запросов к форме восстановления пароля;

  • защита API-эндпоинтов от частых запросов;

  • ограничение отправки форм комментариев, заявок или поиска;

  • снижение нагрузки на ресурсоёмкие операции;

  • временная блокировка источников, которые ведут себя слишком активно.

Как работает лимитное правило

Лимитное правило состоит из условий и параметров лимита.

  1. Система проверяет, соответствует ли запрос условиям правила.

  2. Если запрос подходит под условия, он учитывается в счётчике лимита.

  3. Если количество запросов за заданный период превышает допустимое значение, источник блокируется.

  4. Блокировка действует в течение указанного времени.

Пример: если настроить лимит 20 запросов за 60 секунд и блокировку на 60 секунд, источник будет временно заблокирован после превышения 20 запросов за минуту.

Основные поля правила

Имя правила

Пользовательское имя правила. Используйте понятное название, которое описывает назначение лимита.

Примеры:

  • Limit login attempts;

  • Restrict comments API;

  • Rate limit password reset.

Путь URL

Путь или набор путей, к которым применяется правило.

Примеры:

  • /login;

  • /api/comments;

  • /password/reset;

  • /checkout.

Для пути можно использовать доступные операторы сравнения, например точное совпадение, начало строки или другие операторы, доступные в интерфейсе.

Запросов

Максимальное количество запросов за выбранный период.

Например, значение 20 означает, что за период можно выполнить не более 20 запросов.

Период

Период времени в секундах, за который считается количество запросов.

Примеры:

  • 60 — одна минута;

  • 300 — пять минут;

  • 3600 — один час;

  • 86400 — сутки.

Длительность блокировки

Время в секундах, на которое источник будет заблокирован после превышения лимита.

Примеры:

  • 60 — одна минута;

  • 300 — пять минут;

  • 3600 — один час.

Создание лимитного правила

  1. Перейдите в раздел Защита приложений → Ресурсы.

  2. Найдите ресурс, для которого нужно настроить правила, нажмите на три точки (…) в конце строки и выберите Пользовательские правила.

  3. Откройте таб Лимиты запросов.

  4. Нажмите Создать лимитное правило.

  5. Укажите имя правила.

  6. Задайте путь URL, к которому применяется лимит.

  7. Укажите количество запросов.

  8. Укажите период в секундах.

  9. Укажите длительность блокировки в секундах.

  10. Нажмите Создать.

Редактирование лимитного правила

Чтобы изменить правило:

  1. Откройте таб Лимиты запросов.

  2. Найдите нужное правило в списке.

  3. Откройте меню действий.

  4. Выберите Редактировать.

  5. Измените параметры.

  6. Сохраните правило.

Изменения начинают применяться после сохранения правила.

Удаление лимитного правила

Чтобы удалить правило:

  1. Откройте меню действий в строке правила.

  2. Выберите Удалить.

  3. Подтвердите действие.

После удаления правило перестанет применяться к трафику.

Примеры настройки

Защита формы входа

Цель: ограничить перебор логинов и паролей.

Пример настройки:

  • Путь URL: /login;

  • Запросов: 20;

  • Период: 60 секунд;

  • Длительность блокировки: 300 секунд.

Такое правило ограничит частые попытки входа и временно заблокирует источники, которые превышают лимит.

Ограничение API комментариев

Цель: снизить риск спама через API комментариев.

Пример настройки:

  • Путь URL: /api/comments;

  • Запросов: 20;

  • Период: 60 секунд;

  • Длительность блокировки: 60 секунд.

Защита восстановления пароля

Цель: ограничить автоматизированные запросы к восстановлению пароля.

Пример настройки:

  • Путь URL: /password/reset;

  • Запросов: 5;

  • Период: 300 секунд;

  • Длительность блокировки: 900 секунд.

Рекомендации

  • Настраивайте лимиты точечно для чувствительных путей.

  • Не задавайте слишком низкие лимиты для популярных страниц, которые могут получать много легитимных запросов.

  • Для API учитывайте поведение реальных клиентов, мобильных приложений и интеграций.

  • Начинайте с мягких ограничений и корректируйте значения по логам.

  • Для страниц входа, регистрации и восстановления пароля используйте более строгие лимиты.

  • Если путь активно используется AJAX-запросами, убедитесь, что лимит не нарушит работу интерфейса.

Чем лимитные правила отличаются от правил защиты

Лимитные правила реагируют на частоту запросов. Они полезны, когда один и тот же источник слишком часто обращается к определённому пути.

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

В большинстве случаев эти механизмы лучше использовать вместе: лимиты ограничивают частоту, а правила защиты определяют действия для подозрительного или классифицированного трафика.