Антибот-система для сайта: что выбрать — WAF, капча или виджет для форм
Владелец сайта замечает проблему обычно по симптомам: заявки в 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 при этом не нужен
Обратите внимание на последнюю строку: WAF в этом стеке нет не потому, что он плох, а потому что он решает задачу, которой у сайта нет. Защита от DDoS-атак у него есть — просто никто его не атакует. Это и есть главный принцип рационального выбора антибот-системы: покупать класс решения под реальную угрозу, а не под гипотетическую, и никогда — под маркетинговое обещание «отсекает 99%».
Пять вопросов себе перед покупкой
Чтобы выбор не превратился в импульс, задайте себе пять вопросов по порядку. Ответы коротко, без воды — и класс решения определяется сам собой.
- Сайт лежал от атак хотя бы раз за полгода? Если да — начинайте с DNS-прокси и, при повторении, с платного WAF. Если нет — не тратьте на это бюджет.
- Менеджеры тратят больше часа в день на недозвоны? Посчитайте в CRM долю заявок без дозвона. Больше 15% — у вас проблема контакта, и решает её только проверка владения номером.
- Цена лида из рекламы растёт без причин в оффере? Проверьте кампании на фродовые площадки: рост недозвонов при стабильном трафике — типичный сигнал скликивания.
- Есть точки, где бот массово создаёт сущности? Регистрации, комментарии, отзывы — там нужен серверный антиспам плюс капча или honeypot, виджет для лид-форм эти точки не покроет.
- Кто будет поддерживать решение? WAF требует настройки правил, плагины — обновлений, виджет — только вставки кода. Честно оцените свои ресурсы: неподдерживаемая защита быстро становится декорацией.
Пять ответов — и картина обычно однозначная. Чаще всего выясняется, что рабочий стек у сайта уже есть наполовину: DNS-гигиена бесплатна, honeypot ставится за полчаса, а платить приходится только за тот слой, который закрывает главную боль. Именно так и должна выглядеть рациональная защита: без героизма, по задачам.
И последний практический момент — этапность внедрения. Не ставьте всё сразу: если одновременно включить DNS-прокси, виджет и серверный антиспам, а через неделю конверсия просядет, вы не поймёте, кто виноват. Правильный порядок: сначала бесплатные слои и диагностика, через две недели — платный компонент под главную боль, ещё через две недели — следующий по приоритету. Каждый этап даёт измеримый результат и чёткую причинно-следственную связь, а не кашу из настроек, в которой никто не разберётся через месяц. А главное — пересматривайте выбор раз в полгода: угрозы меняются, стек должен меняться вместе с ними, иначе вчерашняя защита становится сегодняшним ритуалом.
Три ошибки при выборе антибот-системы
Завершим типичными промахами, которые мы видим на проектах клиентов.
Покупать WAF от проблемы лидов
Реклама WAF-вендоров обещает «защиту от ботов», и владелец с мусорными заявками покупает платный тариф. Через месяц фейки не исчезают: WAF видит легитимного посетителя с рекламы, а не фейковый номер внутри заявки. Деньги ушли, боль осталась. Сначала — диагностика, потом класс решения.
Ставить капчу «временно»
«Поставим капчу на месяц, пока боты не отстанут». Боты не отстают — у них бесконечное терпение и дешёвое распознавание. А вот клиенты отстают: минус 10–20% конверсии формы становится постоянной статьей потерь. Капча — это налог на всех посетителей ради небольшого снижения спама.
Считать антибот самоцелью
Самая тонкая ошибка: защита работает, боты отсекаются, но никто не смотрит на воронку. Антибот — средство, а цель — дозвоны, сделки и чистая статистика. Если после внедрения доля недозвонов не упала — значит, защита смотрит не туда, какой бы современной она ни была.