Все статьи

Защита форм сайта от спама и ботов в 2026: honeypot, капча, rate limiting

Содержание
Коротко: по данным Cloudflare Radar, в конце мая - начале июня 2026 боты впервые обогнали людей по доле HTTP-запросов - 57,4% против 42,6%. Часть этого трафика долетает прямо до форм на сайте. Google reCAPTCHA с 1 июля 2025 года использовать нельзя - нарушение 152-ФЗ. Рабочая замена - связка honeypot, rate limiting, серверной валидации и SmartCaptcha или hCaptcha, которая ловит до 95% автоматического спама и почти не мешает живым посетителям.

Менеджер, который вместо звонков реальным клиентам разбирает пятнадцатую за час заявку с именем "asdasd" и телефоном из семи девяток - обычная картина для сайта без защиты форм. По данным недавнего разбора кейсов рунета, отдел продаж без фильтрации спама тратит на проверку мусорных обращений до 30-40% рабочего времени. Это не гипербола - это реальные часы, которые могли уйти на переговоры с живыми клиентами.

У меня был случай с сайтом-визиткой стоматологии: форма записи получала 40-60 заявок в день, из них живых - три-четыре. Остальное - боты, которые нашли форму через сканер и молотят по ней ссылками на казино и криптобиржи. Администратор клиники физически не успевала звонить настоящим пациентам вовремя, потому что весь день разгребала мусор в CRM.

Откуда берётся спам в формах

Формы находят не вручную. Боты сканируют интернет пачками, ищут характерные признаки (тег <form>, поля email, phone, message) и добавляют адрес в базу для рассылки. Дальше по этой базе бьёт другой скрипт - тот, что реально отправляет данные.

Цели у этого трафика разные. Одни боты продвигают спам-ссылки через комментарии и поля с открытым выводом текста. Другие ищут SQL-инъекции и XSS через параметры форм. Третьи - самые неприятные для бизнеса - просто засоряют CRM фейковыми лидами, из-за которых менеджеры теряют время, а рекламный бюджет выглядит хуже, чем есть на самом деле: реклама привела заявку, заявка оказалась ботом, конверсия в продажу - ноль, и по отчётам кажется, что реклама не работает.

Imperva Bad Bot Report фиксирует, что доля вредоносных ботов в мировом трафике достигла рекордных значений - и растёт она в первую очередь за счёт дешёвых инструментов автоматизации, доступных кому угодно за пару долларов в месяц. Порог входа в спам-бизнес упал почти до нуля.

Методы защиты по эффективности

Не все методы одинаково хороши. Разница в том, что одни ловят бота на входе бесплатно и незаметно, а другие требуют бюджета или раздражают пользователя.

Honeypot - невидимая ловушка

Простейший и самый недооценённый метод. В форму добавляется дополнительное поле, которое скрыто CSS-стилями (не атрибутом hidden - его умные боты научились распознавать и пропускать). Человек это поле не видит и никогда не заполнит. Бот, который парсит DOM и слепо заполняет все инпуты подряд, попадается сразу.

По практике внедрений, один honeypot отсекает порядка 60% примитивного автоматического спама - того самого, что генерируют скрипты-парсеры без реального рендеринга страницы. Не панацея, но фильтр первого уровня, который не стоит ничего и не касается пользовательского опыта вообще.

Rate limiting - ограничение скорости

Живой человек не отправит одну и ту же форму пять раз за секунду. Скрипт - отправит. Rate limiting ограничивает число запросов с одного IP или сессии за единицу времени: например, не больше пяти отправок формы обратной связи с одного IP в минуту, и не больше 20-30 в час.

Настраивается на уровне сервера (nginx limit_req) или в коде обработчика формы. Отдельный лимит нужен для чувствительных эндпоинтов - страница входа, восстановление пароля - там разумно опускаться до 5-10 попыток в час на IP, чтобы закрыть подбор паролей заодно.

Серверная валидация - невидимый фундамент

Никогда не доверяйте JavaScript-проверке на фронтенде как единственной защите. Бот отправляет POST-запрос напрямую, минуя браузер и вашу красивую валидацию на клиенте. Значит, всё должно дублироваться на сервере: формат email, длина полей, разумные ограничения на телефон, проверка на пустые обязательные поля.

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

Метод Что ловит Влияние на UX Стоимость
Honeypot Простые скрипты-парсеры Нулевое Бесплатно
Временной токен Скрипты без рендеринга страницы Нулевое Бесплатно
Rate limiting Массовые атаки, брутфорс Нулевое при разумном лимите Бесплатно (настройка сервера)
Серверная валидация Некорректные и вредоносные данные Нулевое Бесплатно
Капча (SmartCaptcha/hCaptcha) Продвинутые боты, headless-браузеры Минимальное - невидимая проверка в большинстве случаев Условно бесплатно, лимиты по трафику

Связка honeypot + временной токен + rate limiting + серверная валидация, по практике внедрений, закрывает порядка 95% автоматического спама - и всё это без единого элемента, который увидит пользователь. Капча добавляется поверх, когда этого мало.

Почему не reCAPTCHA

Раньше reCAPTCHA была стандартом по умолчанию - все ставили её не задумываясь. С 1 июля 2025 года это прямое нарушение 152-ФЗ.

Механика простая. reCAPTCHA при каждой загрузке анализирует поведение пользователя - движения мыши, скорость набора, cookie, IP-адрес - и отправляет всё это на серверы Google за пределами России. Обновлённая редакция 152-ФЗ прямо запрещает первичный трансграничный сбор персональных данных: сначала данные должны попасть на сервер в РФ, и только потом (с уведомлением Роскомнадзора и при выполнении ряда условий) их можно передавать за рубеж. reCAPTCHA этот порядок нарушает по конструкции - обойти его без отказа от сервиса невозможно.

Штрафы за нарушение локализации - от 1 до 6 млн рублей за первое нарушение, до 18 млн рублей при повторном. Отдельно наказывается ответственное должностное лицо. И это без учёта репутационных издержек: клиент, увидевший на сайте российской компании иностранную капчу, которая к тому же периодически подвисает или требует VPN для загрузки скрипта, доверия не прибавит. Подробнее про весь список требований 152-ФЗ к сайту - в чек-листе юридических требований.

SmartCaptcha и hCaptcha - рабочая замена

Яндекс SmartCaptcha - российская разработка, данные хранятся на серверах в РФ, требованиям 152-ФЗ соответствует полностью. Бесплатна до 250 000 проверок в месяц, дальше - 100 рублей за 1000 запросов; для подавляющего большинства сайтов малого и среднего бизнеса лимит не исчерпывается никогда. Вместо привычного "найдите все светофоры" - распознавание текста или простой слайдер, задача сложнее только для трафика, который выглядит подозрительно.

hCaptcha - вариант для сайтов с международной аудиторией или тех, кому важно не привязываться к экосистеме Яндекса. В отличие от Google, hCaptcha не строит на собранных данных рекламный профиль пользователя и работает без региональных ограничений по всему миру. Для проекта, где 100% аудитории - жители России, я обычно рекомендую именно SmartCaptcha: она изначально спроектирована под требования локализации, и вопрос "а точно ли это законно" не возникает вообще.

Капча Данные Цена Когда ставить
Google reCAPTCHA Серверы Google за рубежом Бесплатно Нельзя - нарушение 152-ФЗ с 01.07.2025
Яндекс SmartCaptcha В РФ Бесплатно до 250 тыс. проверок/мес Российская аудитория, приоритет по умолчанию
hCaptcha За рубежом, без рекламного профилирования Бесплатно (базовый функционал) Международная аудитория, нужна нейтральность к Яндексу

Многослойная защита: как это собирается вместе

Ни один метод в одиночку не закрывает всё. Задача - выстроить слои так, чтобы каждый следующий ловил то, что пропустил предыдущий.

Первый слой - honeypot и временной токен прямо в форме, бесплатно и незаметно. Второй - rate limiting на сервере или через хостинг-провайдера, режет массовые атаки и брутфорс. Третий - серверная валидация всех данных, независимо от того, что уже проверил JavaScript. Четвёртый, если первых трёх не хватает, - капча, показанная только подозрительному трафику, а не каждому посетителю подряд.

Кстати, про "невидимую" капчу отдельная ремарка: и SmartCaptcha, и hCaptcha в основном режиме вообще не показывают пользователю задание - анализируют поведение в фоне и выдают галочку. Задание с картинками или текстом всплывает только для трафика, который система сочла подозрительным. Это не "или капча, или UX" - это капча, которая не мешает 95% реальных посетителей.

Мы у себя собрали похожую многослойную схему в отдельный продукт - DevShield: honeypot, rate limiting, поведенческий антибот и Telegram-алерт, если на форму пошла нетипичная активность, всё одной строкой JS без отдельной настройки каждого слоя руками. Free-тариф закрывает 1000 проверок форм в месяц бесплатно, тариф "Бизнес" за 700 ₽/мес добавляет мониторинг и уведомления. Не реклама ради рекламы - мы делали его именно потому, что собирать эту связку вручную на каждом новом проекте надоело, а готового решения с хранением данных в РФ на рынке не было.

Отдельно стоит сказать про мониторинг: любая защита форм рано или поздно столкнётся с новым типом бота, который найдёт способ её обойти. Уведомление в Telegram о резком скачке заявок с одного IP-диапазона позволяет среагировать за минуты, а не узнать о проблеме через неделю, разбирая отчёт по рекламе с нулевой конверсией. Для сравнения - защита от сетевых DDoS-атак работает на другом уровне и другими инструментами; это отдельная тема, которую мы разбирали в статье про DDoS-атаки и малый бизнес.

Что делать прямо сейчас

Если формы на вашем сайте до сих пор без защиты - вот порядок действий, который закрывает проблему за один рабочий день.

Добавьте honeypot-поле в каждую форму на сайте - это 15 минут работы для разработчика и не требует внешних сервисов. Настройте временной токен - минимум 2-3 секунды между загрузкой формы и её отправкой. Включите rate limiting на уровне сервера или в коде обработчика: 5 отправок с IP в минуту достаточно для 95% сайтов. Проверьте, что вся валидация полей дублируется на сервере, а не только в браузере. Если после этого спам всё ещё проходит - добавьте SmartCaptcha на самые проблемные формы, не на весь сайт сразу.

И если на сайте всё ещё стоит reCAPTCHA - меняйте её в первую очередь, независимо от остальных пунктов списка. Это не вопрос удобства, это прямое требование закона с конкретными штрафами.

Спам в формах не выглядит как катастрофа - это медленная утечка ресурса, которую легко не заметить, пока кто-то не посчитает, сколько часов менеджер тратит на "asdasd" вместо реальных клиентов. Дешевле закрыть это один раз, чем оплачивать чужое рабочее время каждый месяц.

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

Honeypot точно не заблокирует реальных клиентов?

Нет, если сделано правильно. Поле прячется через CSS (display: none или вынос за пределы экрана), а не через атрибут hidden - его боты научились распознавать и обходить. Обычный пользователь физически не видит поле и не может его заполнить.

Можно обойтись без капчи вообще?

Для большинства сайтов - да. Связка honeypot, rate limiting и серверной валидации закрывает основную массу automated-спама без единого визуального элемента для пользователя. Капчу имеет смысл добавлять точечно: на формы с высокой ценой действия или там, где простые методы уже не справляются.

Почему нельзя просто поставить Google reCAPTCHA?

С 1 июля 2025 года это нарушение 152-ФЗ. reCAPTCHA отправляет IP и поведенческие данные пользователя на серверы Google за пределами РФ до какого-либо хранения в России - это первичный трансграничный сбор персональных данных, который закон прямо запрещает. Штраф - от 1 до 6 млн рублей, при повторном нарушении до 18 млн.

SmartCaptcha или hCaptcha - что выбрать?

Для сайта с российской аудиторией - SmartCaptcha: данные в РФ, бесплатно до 250 000 проверок в месяц, интерфейс на русском. hCaptcha подойдёт, если аудитория международная или важно не привязываться к экосистеме Яндекса - она не собирает данные для рекламного профилирования и работает без гео-ограничений.

Rate limiting снизит скорость сайта для обычных посетителей?

Нет - если лимит настроен на конкретный эндпоинт, а не на весь сайт целиком. Пять отправок формы с одного IP в минуту не заметит ни один живой человек. Заметят только скрипты.

Проверим формы вашего сайта на уязвимость к спаму

Аудит форм + настройка honeypot, rate limiting и SmartCaptcha под ваш сайт. Покажем, сколько заявок сейчас уходит в спам, и закроем дыру за 1-2 дня. Первая консультация бесплатно.