Главная/Блог/Как защитить формы заявок от спама: капча и лимиты запросов

Как защитить формы заявок от спама: капча и лимиты запросов

Как защитить формы заявок от спама: капча и лимиты запросов
Форма заявки — главный канал привлечения клиентов, но именно через неё в бизнес чаще всего проникает спам. Автоматические боты рассылают рекламу, фейковые обращения засоряют CRM, а менеджеры тратят часы на заведомо бесполезные заявки. В конкурентных нишах — недвижимость, финансы, образование, грузоперевозки — доля спама может доходить до 50–70% всех отправок. Хуже того: агрессивная защита вроде сложной капчи и SMS-подтверждения отпугивает реальных пользователей и режет конверсию. Разберём, как выстроить многоуровневую фильтрацию, которая отсекает ботов, но не мешает живым людям.

Сколько бизнес теряет на спам-заявках

Прежде чем ставить защиту, важно оценить масштаб проблемы — спам это не досадная мелочь, а прямые финансовые потери. Во-первых, время менеджеров: обработка одной фейковой заявки занимает 5–10 минут — обзвон, поиск в базе, пометка «спам». При 50 спам-заявках в день команда теряет до 4 рабочих часов. Во-вторых, засорённая CRM: если половина лидов — мусор, менеджеры привыкают обрабатывать заявки невнимательно и могут пропустить реального клиента. В-третьих, искажённая статистика: стоимость лида, конверсия и отчёты по рекламным каналам перестают соответствовать реальности, и решения о бюджетах принимаются на ложных данных. Наконец, спам-сообщения нередко содержат фишинговые ссылки, которые рискует открыть неопытный сотрудник.

Кто на самом деле спамит в формы

Рабочая защита начинается с понимания противника — к формам сайта обращаются три принципиально разных типа «гостей»:
  • Простейшие скрипты — автокликеры, которые заполняют все поля подряд и жмут «отправить». Они не исполняют JavaScript и не умеют решать капчи — отсекаются элементарно.
  • Продвинутые боты — headless-браузеры (Puppeteer, Selenium), которые имитируют поведение человека: загружают скрипты, выдерживают паузы, иногда проходят простые проверки. Требуют поведенческой фильтрации.
  • Живые люди — «фабрики клика» и конкуренты, вручную рассылающие мусорные заявки, чтобы слить ваш рекламный бюджет. Технические фильтры здесь почти бессильны — спасают стоп-слова, лимиты и проверка заявок менеджером.
Поэтому универсального «переключателя» не существует: работает только многослойная схема, где каждый уровень отсеивает свой тип угрозы.

Honeypot: невидимая ловушка для ботов

Honeypot — «медовая ловушка»: в форму добавляется скрытое от человека поле, которое бот обязан заполнить. Живой пользователь его не видит, а скрипт, парсящий HTML и заполняющий все поля подряд, оставит там текст — и сервер молча отклонит такую заявку. Никакой капчи, никаких лишних кликов, ноль влияния на конверсию. Против простейших ботов приём срабатывает в 80–90% случаев и внедряется за час. Два нюанса: полю стоит дать «вкусное» для бота имя вроде «website», а скрытие реализовать неочевидным способом (например, сместить за границы экрана) — иначе продвинутые спам-скрипты, анализирующие CSS, распознают ловушку. Honeypot должен стоять в любой форме как бесплатный базовый уровень защиты.

Капча: какую выбрать для рунета

Капча — второй рубеж обороны, и её задача — отличить человека от бота с минимальным дискомфортом для пользователя. Вот основные варианты:
  • Yandex SmartCaptcha — оптимальный выбор для России. Работает по поведенческим сигналам: большинство пользователей проходят проверку одним кликом или вообще без него. Есть невидимый режим, щедрые бесплатные лимиты и стабильная доступность.
  • Google reCAPTCHA v3 — невидимая, оценивает «человечность» по шкале от 0 до 1. Минус для рунета: у части пользователей серверы Google недоступны, и форма просто не отправляется.
  • Cloudflare Turnstile — бесплатная и полностью невидимая. Технически элегантна, но частично зависит от доступности инфраструктуры Cloudflare.
  • hCaptcha — альтернатива с привычными «карточками» и независимостью от Google, но с чуть большим трением для пользователей.
Ключевое правило: капча должна показываться не всегда, а при подозрении — после неудачной попытки отправки или при подозрительном поведении. Так 90% реальных клиентов её вообще не увидят.

Лимиты запросов: барьер для автоматизации

Rate limiting — ограничение частоты отправки с одного IP-адреса, сессии или устройства. Человек физически не отправит 20 заявок за минуту — бот может. Настраиваются пороги: например, не более 3 отправок формы с одного IP в час и не более 10 в сутки; при превышении заявка блокируется или требует капчу. Дополняют картину серверные проверки: время заполнения (бот отправляет форму через 1–2 секунды после загрузки, человек тратит минимум 10–15), одноразовый токен сессии (форма принимается только с той страницы, где была загружена), валидация на сервере — формата телефона, email и обязательных полей, а не только в браузере. Эти меры незаметны для пользователей, но ломают логику массовых автокликеров.

Дополнительные фильтры, которые стоит включить

Помимо базовых инструментов есть приёмы, которые добавляют защиты без ущерба для UX:
  1. Фильтр стоп-слов и ссылок. Спам почти всегда содержит URL или характерные фразы («заработок», «casino», «рассылка»). Проверка на стоп-лист отсекает львиную долю ручного спама до попадания в CRM.
  2. Подтверждение заявки. Автоматическое письмо или SMS с кодом: мусорные заявки с несуществующими контактами отсеются сами.
  3. Усиленный режим для новых каналов. При запуске новой рекламы включите капчу или ручную модерацию на первые дни — пока не оцените качество трафика.
  4. Мониторинг аномалий. Резкий всплеск заявок с одного региона или в 3 часа ночи — признак ботной атаки. Настройте алерты на пиковые значения.
  5. Регулярный разбор отклонённых заявок. Раз в месяц проверяйте, не попали ли в спам-фильтры реальные клиенты, и корректируйте правила.

Как не отфильтровать реальных клиентов

Главный риск любой защиты — ложные срабатывания: потерянный живой лид стоит дороже сотни спам-заявок. Держите баланс: не ставьте головоломки и SMS-подтверждение на первом шаге; используйте невидимые и поведенческие проверки вместо принудительных; обязательно тестируйте формы на смартфонах — часть капч на мобильных неудобна и становится причиной отказов. После внедрения защиты следите за конверсией формы: если она просела больше чем на 5–10%, фильтр слишком агрессивен. И оставьте запасной выход — если капча не загрузилась или не прошла, у пользователя должна быть альтернатива: позвонить, написать в мессенджер или на почту.

Рабочая связка, которую ставим на проекты

Схема, закрывающая 95% спама и не раздражающая людей, выглядит так: honeypot-поле во всех формах — бесплатно, незаметно, отсекает простейшие скрипты; серверная валидация и лимиты запросов — второй технический рубеж; поведенческая капча в невидимом режиме — включается только при подозрении; фильтр стоп-слов — чистит ручной спам. На финальном этапе подключаем фильтрацию на стороне CRM: поиск дублей по телефону и email, проверку маскированных символов. Такая связка внедряется за 1–2 дня и окупается с первого месяца — менеджеры перестают тратить время на мусор, а статистика рекламы снова становится честной.
Защита форм от спама — это не галочка «включить капчу», а несколько уровней фильтрации, работающих сообща. Начните с простого: honeypot и серверная валидация ставятся за пару часов и сразу убирают большую часть автоматического мусора. Затем добавьте поведенческую капчу и лимиты запросов — и спам перестанет быть проблемой, а конверсия не пострадает. Если хотите настроить весь контур правильно с первого раза — с защитой от ботов, интеграцией заявок в CRM и без потери реальных клиентов, — напишите нам: покажем на ваших данных, сколько лидов терялось зря, и соберём систему под ваш трафик.

Нужна разработка?

Оставьте заявку — обсудим ваш проект и предложим решение