Rate limiting часто воспринимают как простой счётчик запросов: если один адрес отправил слишком много обращений, его нужно заблокировать. Для интернет-магазина такой подход быстро становится источником ложных срабатываний. За одним IP могут находиться сотрудники офиса, мобильные пользователи, NAT-пул провайдера или десятки настоящих покупателей. Одновременно бот может менять адреса и распределять нагрузку по прокси.
Ограничение частоты лучше рассматривать как один слой поведенческой защиты. Оно должно учитывать маршрут, тип операции, последовательность действий и технический контекст. Цель защиты не в том, чтобы уменьшить число посещений любой ценой, а в том, чтобы не дать автоматизации занять дорогие ресурсы: поиск по каталогу, карточки товаров, корзину, авторизацию и формы.
С чего начать: зафиксировать нормальный профиль
До включения правил соберите базовую линию хотя бы за семь дней. Отдельно запишите среднее и пиковое число запросов к главной странице, каталогу, поиску, карточкам и API. Для каждого маршрута полезно знать p95 времени ответа, долю 4xx и 5xx, загрузку CPU, расход исходящего трафика и число одновременных соединений. Эти показатели помогают отличить проблему с ресурсами от безопасного всплеска в аналитике.
Сетевые цифры сопоставьте с заказами, подтверждёнными лидами, поисковыми переходами и стоимостью рекламного клика. Веб-аналитика не видит каждый автоматический запрос, а access-лог не знает, завершилась ли сессия покупкой. Последовательность проверки описана в материале о диагностике бот-трафика по Метрике, логам и CRM.
Один лимит для всего сайта не работает
Страница статьи и поиск по каталогу имеют разную цену для сервера. Статический контент можно отдавать чаще, а сложный фильтр по остаткам и характеристикам способен создавать нагрузку при небольшом числе обращений. Для каталога ограничивайте частоту и глубину перебора, для карточек учитывайте повторяемость, для корзины и checkout защищайте повторную отправку, а для API используйте отдельные ключи и журналирование.
В архитектуре reverse proxy решение принимается до обращения к исходному серверу. Это позволяет не тратить его ресурсы на явно подозрительные операции и при этом сохранить обычную работу сайта.
Какие сигналы добавлять к rate limiting
Частота становится убедительным признаком только вместе с контекстом. Смотрите на расстояние между запросами, повторяемость маршрута, порядок действий, время на странице и корректность одноразовых токенов. Человек может открыть много карточек во время сравнения товаров, но его маршрут обычно содержит категории, поиск, паузы и естественные переходы. Парсер чаще идёт по однотипному списку с одинаковым интервалом.
Дата-центр, прокси, ASN, User-Agent, TLS/HTTP-отпечаток и география повышают или снижают риск, но не должны быть единственным основанием блокировки. В руководстве о репутации IP, прокси и ASN объясняется, почему сетевой контекст нужно соединять с поведением.
Реакции: от наблюдения к блокировке
Запускайте новые правила в режиме наблюдения: система фиксирует срабатывания, но не мешает посетителю. После проверки применяйте ступенчатую реакцию: замедление или очередь для пограничных случаев, дополнительную проверку, временный ответ 429 с Retry-After и только затем блокировку устойчивого вредного сценария. Не меняйте сразу несколько переменных, записывайте версию правила и ожидаемый эффект.
Как не заблокировать роботов и интеграции
Поддельный User-Agent Googlebot или Яндекс.Бота не должен получать автоматический пропуск. Подтвердите IP через обратный и прямой DNS, затем сопоставьте частоту и маршрут обхода с ожидаемым поведением. Критичные API, платежи и мониторинги внесите в разрешающий контур после проверки владельца. Регулярно проверяйте robots.txt, sitemap.xml и коды ответа. Чек-лист есть в статье о Googlebot и Яндекс.Боте, а план отката DNS — в инструкции по подключению.
Формы: защита от фейковых заявок
Для формы обратного звонка, регистрации и заказа одного rate limit недостаточно. Используйте одноразовый токен, серверную проверку, скрытое поле-ловушку и контроль времени между открытием формы и отправкой. Одинаковые телефоны, шаблонные комментарии и невозможная скорость повышают уверенность в автоматизации. Подробнее о токенах и поведенческих признаках рассказано в материале о защите форм сайта от спам-ботов.
Как понять, что правила работают
Через 24–72 часа сравните с базовой линией нагрузку на origin, p95 ответа, 5xx и 429, стоимость инфраструктуры и запросы к дорогим маршрутам. Затем проверьте заказы, стоимость заявки, конверсию рекламы и органические переходы. Отдельно пройдите сайт как пользователь: найдите товар, добавьте его в корзину, отправьте тестовую форму и войдите в аккаунт.
Чек-лист перед включением
- Есть показатели до изменений и критерии успеха.
- Лимиты разделены по маршрутам и стоимости операций.
- Роботы, API и мониторинги подтверждены отдельно.
- Для спорных запросов предусмотрена мягкая реакция.
- Сохранены DNS-настройки, журнал изменений и план отката.
Итог: rate limiting защищает интернет-магазин лучше всего как часть контекстной системы. Измерьте обычное поведение, разделите маршруты, добавьте сетевые сигналы, постепенно усиливайте реакцию и проверяйте результат по бизнес-метрикам. Это снижает парсинг, нагрузку и фейковые заявки, сохраняя доступность каталога для клиентов и поисковых роботов.