Антибот-система для сайта: что выбрать — WAF, капча или виджет для форм

Команда LeadShield ~15 мин чтения

Владелец сайта замечает проблему обычно по симптомам: заявки в CRM пустые, менеджеры жалуются на недозвоны, рекламный бюджет тает, а конверсия в сделку падает. Он открывает поиск, набирает «антибот для сайта» — и проваливается в рынок, где одни предлагают «военный WAF с ИИ», другие — капчу за пять минут, третьи — виджеты, «отсекающие 99% ботов». Понять, что из этого нужно именно ему, сложно: классы решений решают разные задачи, и покупка не того класса — самая частая ошибка в этой теме.

Разберём честно, без «наш продукт лучше всех»: какие классы антибот-систем существуют, на каком уровне каждый работает, сколько стоит и где принципиально слеп. Начнём с классификации, потом пройдём по каждому классу — WAF, капча, виджет для форм — и закончим матрицей выбора под конкретные сценарии. LeadShield продаёт виджеты для форм, поэтому там, где у нас есть конфликт интересов, мы его прямо помечаем и опираемся на открытые данные.

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

Классы антибот-систем: четыре уровня защиты

Прежде чем сравнивать решения, полезно понять, где физически они стоят относительно вашего сайта. Автоматический трафик проходит путь: сеть → веб-сервер → приложение → форма. На каждом участке пути есть свой класс защиты, и каждый видит только своё окно.

  • Сетевой уровень — DNS- и WAF-защита. Трафик проходит через фильтрующий прокси до того, как достигнет вашего сервера. Видит IP, гео, ASN, паттерны запросов. Не видит содержимое форм.
  • Уровень приложения — капча и скоринг. Работает на странице: картинки, пазлы, невидимый анализ поведения. Видит посетителя, не видит телефон, который он вводит.
  • Уровень формы — виджеты защиты лид-генерации. Анализируют поведение при заполнении конкретной формы и подтверждают контакт. Видят заявку целиком, не видят остальной трафик сайта.
  • Серверные плагины — антиспам для CMS. Фильтры комментариев, регистраций, honeypot-поля из коробки. Работают ближе к данным, но требуют поддержки и конфликтуют с обновлениями.

Ключевая мысль: классы не конкурируют, а закрывают разные участки пути. Поэтому вопрос «что лучше — WAF или виджет» некорректен, как «что лучше — замок на двери или сейф». Корректный вопрос: какой класс закрывает вашу текущую боль с минимальными потерями. Дальше — по каждому.

Как быстро понять, какой уровень под аттакой

Диагностика занимает один вечер и строится на трёх источниках. Первый — серверные логи: если видны всплески запросов к одному адресу, сканирование типовых путей вида /wp-login.php или /admin, это сетевой уровень, нужен WAF. Второй — CRM и почта: если заявки всплесками приходят ночью, с мусорными комментариями и заведомо ложными номерами — страдают формы, нужен виджет и honeypot. Третий — рекламные кабинеты: если цена лида растёт, а доля недозвонов среди «конверсий» переваливает за 20% — смесь фрода и слабой проверки контакта. По каждому сценарию ниже — свой класс решения, и чаще всего правильный ответ оказывается не самым дорогим.

WAF и DNS-защита: когда нужна, а когда нет

WAF — Web Application Firewall, файрвол уровня веб-приложения. Работает как обратный прокси: весь трафик сайта идёт через инфраструктуру провайдера, которая отфильтровывает злонамеренные запросы по сигнатурам и поведенческим моделям. Самый известный пример — Cloudflare, чья DNS-защита бесплатна на базовом тарифе, а платные тарифы добавляют управляемые правила и rate limiting. По статистике Cloudflare Radar, сетевые атаки идут на сотни сайтов каждую минуту, и значительная их часть гасится именно на этом уровне.

WAF решает три задачи. Первая — DDoS-гашение: залповые запросы, укладывающие сервер, отбиваются до вашей инфраструктуры. Вторая — фильтрация эксплойтов: типовые атаки на движки, SQL-инъекции, сканирование уязвимостей отсекаются сигнатурами. Третья — rate limiting: ограничение частоты запросов с одного адреса, полезное против примитивных переборов. Всё это критично для сайтов, которые атакуют: интернет-магазины в сезон, медиа, финансовые сервисы.

Теперь честно про слепые зоны. WAF не знает, что такое «фейковая заявка»: для него форма, заполненная ботом из рекламного объявления, выглядит как легитимный POST-запрос с валидной сессией. Фрод-боты, имитирующие поведение человека и кликающие по рекламе из мобильных сетей, проходят WAF почти всегда — их запросы не похожи на атаку. Вторая слепая зона — цена: платные WAF-тарифы начинаются от 20–50 долларов в месяц и растут с трафиком, а для B2B-сайта с 30 заявками в день это решение задачи, которой нет.

Отдельная ловушка — сложность настройки. WAF приносит пользу только когда правила подтюнены под сайт: включённые «из коробки» наборы защиты известны ботам и часто блокируют легитимных посетителей вместе с мусором. Мелкий сайт без системного администратора обычно получает от платного WAF меньше, чем платит: настройки не трогают, ложные срабатывания копятся, а потом защиту вовсе выключают «потому что мешала». Если нет ресурса на поддержку — честнее выбрать класс попроще.

Простой тест зрелости: попросите у потенциального поставщика лог отсева за неделю на похожем проекте. Зрелый вендор покажет цифры и причины блокировок, незрелый — процент «отсеянных ботов» без разбивки. Первый понимает свою систему, второй продаёт обещание. В защите от ботов, как и везде, неконтролируемое число хуже его отсутствия.

Вывод по классу: WAF нужен, когда на сайт идут атаки или его системно парсят. Если болит другое — мусор в заявках, скликивание рекламы — WAF не поможет, и деньги будут потрачены на защиту от несуществующей угрозы, пока настоящая дырит воронку. Бесплатный DNS-прокси при этом имеет смысл поставить почти всем — это базовая гигиена, как SSL-сертификат.

Парсинг: тихая утечка, которую тоже закрывает сетевой уровень

Вторая задача класса — противодействие парсингу, когда конкуренты регулярно выкачивают ваш каталог, цены или остатки. Здесь работают правила rate limiting и блокировка типовых ботов по поведенческим сигнатурам. Полностью парсинг не остановить — данные публичны — но сделать его дорогим и нерегулярным вполне реально. Для интернет-магазинов с уникальным ассортиментом и маркетплейсов это вторая после DDoS причина ставить платный WAF. Опять же: если у вас B2B-сайт услуг с пятью страницами и формой заявки, парсить там нечего, и этот аргумент в пользу WAF исчезает.

Капча: цена вопроса

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

Цифры потерь конверсии от классической капчи — 10–20% по разным исследованиям, и это только добровольные отказы. Добавьте мобильных пользователей, у которых разгадать светофоры на трёх экранах — сущее мучение, и пожилую аудиторию. Вторая проблема — экосистема обхода: сервисы распознавания капч стоят копейки, и для спамера проще заплатить за распознавание, чем менять скрипт. По данным проекта OWASP по автоматическим угрозам, капча-челленджи относятся к сдерживающим мерам, а не к гарантированной защите.

Внутри класса есть градация. Классические челлендж-капчи с картинками — самые заметные и самые дорогие по потерям. Чекбокс-капчи («я не робот») мягче, но всё равно требуют действия и иногда подкидывают картинки подозрительным посетителям. Скоринговые системы третьей версии — самые бесшумные, но непрозрачные: низкий балл нельзя обжаловать, и клиент об этом не узнает. Эта градация важна при выборе: разница между классами — это разница между «точно потеряем часть клиентов» и «вероятно потеряем непонятно кого».

Современная эволюция — невидимая капча и поведенческий скоринг: Google reCAPTCHA v3 ставит посетителю оценку 0–1 по косвенным признакам, не показывая никаких картинок. Конверсия страдает меньше, но появляются другие риски: ложноположительные срабатывания для пользователей с VPN, строгих блокировщиков и нестандартных браузеров — система молча ставит низкий балл, и легитимный клиент блокируется без объяснений. Для B2B-аудитории, где сделка стоит сотни тысяч, потерять одного клиента из-за странного балла — недопустимая роскошь.

Отдельный аспект — мобильный трафик и доступность. Большая часть капч ужасно работает на смартфонах: крошечные картинки, перезагрузка при смене ориентации, лаги на слабых устройствах. Аудитория 45+ годов, которая для многих B2B-ниш — основа денег, в лучшем случае зовёт внучка «разгадать эту штуку», в худшем — закрывает вкладку. Любое решение на форме должно проверяться с телефона на 4G в первую очередь, а не с десктопа офиса.

Отдельно — бесплатный минимум, который стоит сделать любому: honeypot-поле. Скрытое от человека поле в форме, которое заполняют только боты. Это не капча в строгом смысле — клиент ничего не разгадывает, а примитивные скрипты отсекаются с первого дня. Устройство ловушки и её границы против современных ботнетов мы разбирали в статье про honeypot и невидимую капчу. Honeypot не заменяет защиту контакта, но как нулевой слой — обязателен.

Виджет для форм: ниша и экономика

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

У класса есть ещё одно свойство, редко упоминаемое в сравнениях: скорость внедрения. Пока WAF настраивается неделями, а капча требует решений об оформлении и позиции на странице, виджет ставится за вечер — вставили две строки, настроили оверлей, проверили на своей форме. Для бизнеса, который теряет деньги на фейковых заявках прямо сейчас, разница между «защита через месяц» и «защита завтра» — это реальные деньги, потерянные за месяц ожидания.

Но поведенческий фильтр — половина решения. Современные ботнеты умеют имитировать скролл и паузы, а фрод-скрипты подставляют реальные чужие номера из украденных баз — и поведенческий анализ их пропускает, потому что внешне всё похоже на человека. Поэтому второй слой виджета — верификация контакта: flash call или SMS с кодом до отправки формы. Код уходит на SIM-карту, которой у бота нет, — и фейковая заявка физически не может попасть в CRM. Вместе два слоя закрывают и автоматический спам, и подставные номера, и случайные опечатки клиентов. Про способы подтверждения номера — в отдельном разборе верификации телефона для сайта, а базовая терминология и виды проверок — в гайде о том, что такое верификация.

По логам виджет даёт то, чего не даст ни WAF, ни капча: разметку каждой заявки. IP, канал подтверждения, время, результат — для каждой попытки. Это превращает защиту из чёрного ящика в инструмент аналитики: видно, с каких площадок идут фейки, какие формы атакуют чаще, как меняется доля мусора после смены рекламных кампаний. Мы подробно писали о ценности такой разметки в материале про фрод и скликивание в Яндекс Директе — без логов по заявкам доказать фродовую площадку почти невозможно.

Экономика класса устроена под задачу «чистые лиды». Подписка за пакет проверок: «Старт» — 1 690 ₽ в месяц за 30 проверок, «Про» — 3 990 ₽ за 100, «Бизнес» — 8 990 ₽ за 300, каждый месяц 5 проверок бесплатны. Подтверждение номера внутри пакета обходится в 2–3 раза дешевле самостоятельной закупки SMS у агрегаторов: сервис гоняет каскад каналов, поэтому платите только за реально доставившиеся попытки. При цене одного фейкового лида 850–1 550 ₽ (время менеджера плюс списанный рекламный бюджет) окупаемость наступает при отсеивании двух-трёх мусорных заявок в месяц — меньше, чем приносит любая неделя платного трафика. Подключение — две строки кода в head страницы, работает с Tilda, WordPress, Bitrix24 и самописными сайтами. Готовый вариант этого класса — антибот для сайта без капчи от LeadShield: поведенческий фильтр на формах плюс верификация номера, клиенты ничего не разгадывают.

Границы класса тоже честно. Виджет для форм не гасит DDoS, не фильтрует эксплойты и не защищает комментарии — если это ваши боли, он не заменит WAF или серверный плагин. Его ниша — заявки, регистрации, любые точки, где контакт клиента стоит денег. Если сайт атакуют — ставьте WAF. Если мусорят формы — ставьте виджет. Часто — оба, они не мешают друг другу.

Что выбрать: матрица решений

Соберём выбор в таблицу. По горизонтали — сценарий, по вертикали — класс решения: чек означает «эффективно закрывает», тильда — «частично помогает», крест — «не решает».

Какой класс антибот-системы закрывает какой сценарий
СценарийWAF / DNSКапчаВиджет для формHoneypot
DDoS-атаки, укладывающие серверРешаетНе решаетНе решаетНе решает
Сканирование уязвимостей, эксплойтыРешает~ ЧастичноНе решаетНе решает
Спам в комментариях и форумахЧастичноРешаетНе решаетРешает
Залповая отправка форм скриптамиЧастичноРешаетРешаетРешает
Фейковые заявки с чужими номерамиНе решаетНе решаетРешаетНе решает
Опечатки и случайные заявки людейНе решаетНе решаетРешаетНе решает
Скликивание рекламы с конверсиями-фейкамиНе решаетЧастичноРешаетЧастично
Автоматические регистрации аккаунтовЧастичноРешаетРешаетЧастично

Из таблицы вырисовываются четыре типовых портрета. Портрет первый — «нас атакуют»: сайт лежит под DDoS, в логах сканеры уязвимостей. Решение — WAF и DNS-защита, остальное вторично. Портрет второй — «мусорят формы»: заявки есть, но треть из них пустые, менеджеры в недоумении. Решение — виджет для форм с верификацией номера, honeypot как нулевой слой. Портрет третий — «комментарии и регистрации спамят»: решение — серверный антиспам плюс капча на точках регистрации. Портрет четвёртый — «всё сразу»: комбинация слоёв по принципу «каждый закрывает своё».

Отдельно скажем про серверные плагины — четвёртый класс, который часто игнорируют в сравнениях. Антиспам для WordPress вроде Akismet, встроенные фильтры регистраций в движках, модерация комментариев — это рабочая линия обороны, особенно для контентных сайтов. Их плюс — близость к данным: плагин видит не только запрос, но и смысл контента. Минусы тоже честные: конфликты с обновлениями CMS, нагрузка на базу, ложные срабатывания на нормальных комментариях. Для сайтов на популярных CMS этот слой стоит включать по умолчанию — он бесплатный или почти бесплатный, а задачи свои решает.

Большинство B2B-сайтов с платной рекламой — это второй портрет. Им DDoS не грозит, а вот 15–40% мусора в заявках — ежедневная реальность: о механике такого мусора и его стоимости для отдела продаж читайте в разборе фейковых заявок и материале про некачественные лиды. Их стек разумного минимума выглядит так: бесплатный DNS-прокси для гигиены, honeypot в формах, поведенческий фильтр плюс верификация номера на точках заявок. Как этот стек собирается пошагово — в гайде как защитить сайт от ботов.

И финальная проверка любого выбранного решения — возможность его проверить на своих данных до оплаты. Зрелые сервисы класса дают бесплатный пробный период: поставили, посмотрели две недели на логи и воронку, потом решили, оставлять или нет. Если вендор не даёт такой возможности и требует оплаты «за год вперёд» — это сам по себе ответ о качестве продукта.

Считаем стек для типового B2B-сайта

  • Бесплатный DNS-прокси 0 ₽/мес
  • Honeypot-поле в формах 0 ₽/мес, 30 минут работы
  • Виджет защиты форм, тариф «Про» 3 990 ₽/мес
  • Потери без защиты: 9 фейковых заявок в день ~11 500 ₽/мес + реклама
  • Платный WAF при этом не нужен
Итог минимального рабочего стека ≈ 4 000 ₽/мес

Обратите внимание на последнюю строку: WAF в этом стеке нет не потому, что он плох, а потому что он решает задачу, которой у сайта нет. Защита от DDoS-атак у него есть — просто никто его не атакует. Это и есть главный принцип рационального выбора антибот-системы: покупать класс решения под реальную угрозу, а не под гипотетическую, и никогда — под маркетинговое обещание «отсекает 99%».

Пять вопросов себе перед покупкой

Чтобы выбор не превратился в импульс, задайте себе пять вопросов по порядку. Ответы коротко, без воды — и класс решения определяется сам собой.

  1. Сайт лежал от атак хотя бы раз за полгода? Если да — начинайте с DNS-прокси и, при повторении, с платного WAF. Если нет — не тратьте на это бюджет.
  2. Менеджеры тратят больше часа в день на недозвоны? Посчитайте в CRM долю заявок без дозвона. Больше 15% — у вас проблема контакта, и решает её только проверка владения номером.
  3. Цена лида из рекламы растёт без причин в оффере? Проверьте кампании на фродовые площадки: рост недозвонов при стабильном трафике — типичный сигнал скликивания.
  4. Есть точки, где бот массово создаёт сущности? Регистрации, комментарии, отзывы — там нужен серверный антиспам плюс капча или honeypot, виджет для лид-форм эти точки не покроет.
  5. Кто будет поддерживать решение? WAF требует настройки правил, плагины — обновлений, виджет — только вставки кода. Честно оцените свои ресурсы: неподдерживаемая защита быстро становится декорацией.

Пять ответов — и картина обычно однозначная. Чаще всего выясняется, что рабочий стек у сайта уже есть наполовину: DNS-гигиена бесплатна, honeypot ставится за полчаса, а платить приходится только за тот слой, который закрывает главную боль. Именно так и должна выглядеть рациональная защита: без героизма, по задачам.

И последний практический момент — этапность внедрения. Не ставьте всё сразу: если одновременно включить DNS-прокси, виджет и серверный антиспам, а через неделю конверсия просядет, вы не поймёте, кто виноват. Правильный порядок: сначала бесплатные слои и диагностика, через две недели — платный компонент под главную боль, ещё через две недели — следующий по приоритету. Каждый этап даёт измеримый результат и чёткую причинно-следственную связь, а не кашу из настроек, в которой никто не разберётся через месяц. А главное — пересматривайте выбор раз в полгода: угрозы меняются, стек должен меняться вместе с ними, иначе вчерашняя защита становится сегодняшним ритуалом.

Три ошибки при выборе антибот-системы

Завершим типичными промахами, которые мы видим на проектах клиентов.

Покупать WAF от проблемы лидов

Реклама WAF-вендоров обещает «защиту от ботов», и владелец с мусорными заявками покупает платный тариф. Через месяц фейки не исчезают: WAF видит легитимного посетителя с рекламы, а не фейковый номер внутри заявки. Деньги ушли, боль осталась. Сначала — диагностика, потом класс решения.

Ставить капчу «временно»

«Поставим капчу на месяц, пока боты не отстанут». Боты не отстают — у них бесконечное терпение и дешёвое распознавание. А вот клиенты отстают: минус 10–20% конверсии формы становится постоянной статьей потерь. Капча — это налог на всех посетителей ради небольшого снижения спама.

Считать антибот самоцелью

Самая тонкая ошибка: защита работает, боты отсекаются, но никто не смотрит на воронку. Антибот — средство, а цель — дозвоны, сделки и чистая статистика. Если после внедрения доля недозвонов не упала — значит, защита смотрит не туда, какой бы современной она ни была.

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

Что такое антибот-система для сайта?
Это программный слой, который отличает автоматический трафик от людей и решает, пускать ли посетителя дальше. Классы решений различаются уровнем работы: WAF и DNS-защита стоят перед сайтом и гасят атаки, капча проверяет каждого пользователя, виджет для форм защищает точки генерации лидов.
Достаточно ли одной капчи от ботов?
Нет. Капча отсекает часть примитивных скриптов, но снижает конверсию формы на 10–20%, а сервисы распознавания пробивают её за копейки. Для лид-форм эффективнее связка: невидимый поведенческий фильтр плюс верификация номера, которую бот пройти не может.
Нужен ли малому бизнесу WAF?
Если на сайт не идут DDoS-атаки и его не парсят конкуренты системно — нет. Базовый бесплатный тариф DNS-защиты Cloudflare достаточен для подавления мелких атак, а платный WAF окупается при заметных потерях от атак или парсинга.
Чем виджет для форм отличается от антибота общего назначения?
Антибот общего назначения оценивает трафик сайта в целом. Виджет для форм работает в точке, где рождается лид: анализирует поведение при заполнении и подтверждает владение номером до отправки заявки в CRM. Для задачи «чистые лиды» второго класса достаточно, первый — избыточен.
Как понять, что антибот работает?
По метрикам воронки: доля недозвонов падает, доля фейковых заявок сокращается, конверсия из заявки в сделку растёт. Логи должны показывать, кого и почему система отсекла — без этого эффект неотличим от случайных колебаний трафика.

Поставьте защиту форм за 2 минуты

5 проверок бесплатно. 2 строки кода. Без карты.

Подключить за 2 минуты

После 5 проверок выберите тариф или просто отключитесь.