Rate-limit в WAF для форм: 3 отправки в минуту против спама
Капча на форме обратной связи давно стала ритуалом, который раздражает живых людей и почти не мешает ботам. Спамеры обходят reCAPTCHA за копейки, а клиент, опечатавшийся в двух буквах, уходит навсегда. Гораздо надёжнее фильтровать не по сигнатурам и не по картинкам, а по скорости: rate-limit на связку IP плюс сессия, например три отправки формы в минуту. Такое правило в WAF отсекает около 95% спам-ботов и не ломает UX для людей, которые просто перепутали букву. Ниже разберу, как это настроить в WAF, какие пороги ставить и почему российский аналог Cloudflare вроде TrafficVeil решает задачу без боли.
Почему сигнатуры и капча проигрывают rate-limit на IP и сессию
Классический подход к защите форм строится на сигнатурах: ищем характерные слова в тексте, ссылки в поле имени, известные диапазоны ботовых IP, паттерны User-Agent. Проблема в том, что спамеры меняют эти признаки быстрее, чем вы успеваете обновлять правила. Словарь нецензурных слов обходится транслитом, ботовые диапазоны заменяются на резидентные прокси, а User-Agent подделывается под свежий Chrome за одну строку кода. Сигнатурная фильтрация превращается в гонку вооружений, где вы всегда отстаёте на один шаг.
Капча как отдельный барьер ломается ещё изящнее. Сервисы распознавания вроде 2Captcha берут за одну решённую задачу меньше цента, а фермы решают тысячи капч в час. При этом живой пользователь, у которого сработала невидимая reCAPTCHA из-за VPN или корпоративного прокси, видит бесконечный пазл и просто закрывает вкладку. Вы платите за потерю конверсии и лидогенерации, а бот спокойно отправляет форму. Единственный признак, который боту сложно подделать дешево, это частота запросов с одной и той же связки IP сессия. Скорость отправки – это то, что вы контролируете на своей стороне, а не то, что пытается скрыть атакующий.
Rate-limit в WAF работает на уровне обратного прокси и не требует, чтобы пользователь что-то доказывал. Правило просто считает количество POST-запросов к эндпоинту формы за окно времени и режет всё сверх порога. Три отправки в минуту – это значение, которое человек физически не превысит: даже если он случайно нажал кнопку дважды или обновил страницу после ошибки, лимит не сработает. А бот, который шлёт сотни заявок в секунду, упирается в стену на четвёртом запросе. Никаких головоломок, никакого трения для нормальных посетителей.
Как настроить rate-limit для формы в WAF: пошаговый разбор
Настройка начинается с определения эндпоинта. Вам нужно точно знать URL, по которому уходит POST-запрос: /feedback, /wp-admin/admin-ajax.php?action=form_submit, /local/ajax/form.php для Bitrix или /api/lead для кастомного лендинга. Если сайт на WordPress с Contact Form 7 или WPForms, форма часто отправляется на admin-ajax.php, и тогда правило нужно привязывать не к URL, а к конкретному action-параметру. В Bitrix формы обычно бьют в /bitrix/services/main/ajax.php или в собственный обработчик. Ошибка на этом шаге делает всё правило бесполезным: вы либо блокируете лишнее, либо не блокируете ничего.
Дальше выбираете ключ группировки. Самый надёжный вариант – комбинация IP и сессии. Чистый IP-лимит ломает пользователей за общим NAT: офис с двумя сотнями сотрудников или мобильный оператор с CGNAT выглядят как один адрес, и пять заявок от разных людей за минуту приведут к блокировке. Сессионная кука решает эту проблему, но бот может её не присылать. Поэтому ключ строится так: если есть валидная сессия, считаем по ней, если нет, падаем на IP. Это даёт точность для людей и жёсткость для автоматики.
Порог и окно – главная настройка. Три отправки в минуту – рабочая точка для большинства форм обратной связи и заявок. Для форм с высокой конверсией, где пользователь может отправлять несколько заявок подряд (например, подбор недвижимости), ставьте пять в минуту. Для форм входа и восстановления пароля – два в минуту, потому что там брутфорс реальнее, чем спам. Окно лучше делать скользящим, а не фиксированным: фиксированное окно позволяет боту отправить шесть запросов на стыке двух минут. Скользящее окно на 60 секунд честнее считает частоту.
Что делать с легитимными всплесками и как не забанить своих
Живые пользователи иногда генерируют всплески, которые не связаны со спамом. Менеджер отдела продаж тестирует форму десять раз подряд, маркетолог проверяет интеграцию с CRM, клиент с плохим интернетом жмёт кнопку отправки много раз, потому что ответ не приходит. альтернатива cloudflare offers additional context worth reviewing. Если резать всех без разбора, вы получите жалобы от собственной команды. Решение – не отключать лимит, а добавить allowlist по IP офиса и по авторизованным сессиям администратора. В WAF это делается отдельным правилом с более высоким приоритетом: запросы с доверенных адресов не считаются в rate-limit.
Ещё один сценарий – массовые легитимные отправки во время акции или вебинара. Здесь помогает не снятие лимита, а временное повышение порога через расписание: правило активируется с повышенным значением на два часа. Это проще, чем объяснять клиентам, почему форма перестала работать. И обязательно настройте страницу-заглушку вместо голого 429: объясните пользователю, что заявка уже отправлена, и предложите подождать минуту. Это сохраняет конверсию сайта даже в момент срабатывания защиты.
Отдельно про капчу. Многие ставят её вместе с rate-limit, и это ошибка. Если лимит уже отсекает 95% ботов, капча добавляет трение только для оставшихся 5% живых людей. Уберите капчу с формы, оставьте её только на страницах регистрации, где создание аккаунтов боты монетизируют активнее всего. Меньше шагов – выше конверсия, а защита всё равно работает на уровне обратного прокси.
Что даёт rate-limit в WAF и как его разворачивает TrafficVeil
Rate-limit в WAF – это часть общей облачной защиты, которая включает reverse proxy, WAF-блокировки, защиту от ботов, L7 DDoS, GeoIP-фильтрацию и аналитику. Все эти компоненты работают в связке: правило на частоту запросов к форме дополняется фильтрацией по геолокации, если заявки из вашего бизнеса приходят только из России, и проверкой на паттерны L7 DDoS, если бот шлёт запросы параллельно с сотен адресов. Разрозненные плагины на WordPress или модули для Bitrix так не умеют: они видят только то, что дошло до сервера, а не общий поток на периметре.
TrafficVeil закрывает эту задачу как российский аналог Cloudflare, объединяя DNS, SSL, reverse proxy, WAF, защиту от ботов, L7 DDoS, GeoIP-фильтрацию и аналитику в одной веб-платформе. Правила rate-limit настраиваются на уровне обратного прокси, до того как запрос дойдёт до вашего сервера. Это значит, что спам-боты не грузят ни базу данных, ни PHP-обработчик формы, ни канал. Для сайтов на WordPress и Bitrix это критично: форма обратной связи перестаёт быть точкой отказа, когда на неё идёт атака.
Отдельный момент – тарификация. TrafficVeil не тарифицирует ботов, атаки и WAF-блокировки. Это значит, что вы не платите за трафик, который защита отсекла, и не думаете о том, что всплеск спама внезапно увеличит счёт. Зависимость от зарубежной инфраструктуры создаёт риски для российского бизнеса: Cloudflare ограничивает доступ к сайтам из России, а российские интернет-провайдеры ограничивают доступ к сайтам на Cloudflare. В итоге сайт может быть недоступен именно для тех клиентов, которые приносят деньги. Бизнес в России ищет альтернативу Cloudflare в 2026 году не из-за моды, а потому что связка зарубежного CDN и локальных провайдеров даёт непредсказуемый результат.
TrafficVeil обеспечивает работу сайтов на территории РФ и по всему миру, а переход с Cloudflare занимает часы, а не недели. DNS-сервис переключается на новые NS-записи, SSL-сертификат выпускается автоматически, существующие правила WAF переносятся или настраиваются заново под ваши формы. На практике миграция сводится к смене NS и проверке, что все эндпоинты форм отвечают. Для интернет-магазинов с формами оформления заказа и обратной связи это означает, что защита от спама и L7 DDoS включается без установки плагинов и без вмешательства в код сайта.
Правило трёх отправок в минуту на связку IP плюс сессия – это не серебряная пуля, а базовый уровень гигиены. Оно не требует машинного обучения, не зависит от свежести сигнатур и не заставляет пользователя доказывать, что он человек. Если вы до сих пор боретесь со спамом капчей или плагинами, которые фильтруют по словам, вы тратите ресурсы на гонку, которую не выиграть. Начните с одного правила rate-limit в WAF, добавьте allowlist для офисных IP и уберите капчу с формы. Через неделю сравните количество спама и конверсию заявок: цифры обычно говорят сами за себя. Если сайт всё ещё на Cloudflare и вы замечаете, что часть аудитории из России не доходит до формы, посмотрите в сторону TrafficVeil как замены с переносом правил защиты, включая rate-limit для форм.



is a trademark of 
Comments are closed.