Защита формы от спама: как избавиться от спама в формах на сайте без капчи

· 10 мин чтения

Защита формы от спама без капчи: ловушка для ботов, проверка времени, невидимая проверка браузера, лимит по IP. Разбираем слои защиты и их минусы.

СодержаниеОткуда берётся спам в формах сайта

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

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

Спам бывает разный, и от каждого вида помогает своё. Поэтому сначала стоит понять, что именно приходит к вам.

Боты-рассыльщики

Самый массовый вид. Программы обходят сайты, находят на страницах формы и заполняют все поля подряд. Цель обычно одна: оставить ссылку на сайт, казино, «раскрутку» или что-то похуже. Такие боты работают быстро и тупо: заполняют форму за доли секунды, вставляют ссылки в каждое текстовое поле, отправляют сотни запросов с одного адреса.

Ручной спам

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

Подставные заявки

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

Накрутка

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

Почему капча снижает число живых заявок

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

Особенно это заметно на телефоне. Маленькие картинки, промахи по кнопкам, повторные задания, если ответ не засчитали. Человек, который уже посчитал стоимость и готов оставить телефон, вдруг сталкивается с препятствием и закрывает вкладку.

При этом капча защищает не от всего:

  • ручной спам она не останавливает совсем;
  • часть ботов научилась проходить простые капчи;
  • от подделки суммы в заявке она не спасает.

Поэтому разумнее начинать с невидимых способов защиты, которые посетитель не замечает, а капчу держать в запасе как последний рубеж.

Слои защиты формы от спама: от невидимых проверок до капчи

Защита формы от спама по слоям

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

1. Ловушка для ботов (honeypot)

В форму добавляется поле, которое человек не видит: оно скрыто от глаз, но есть в коде страницы. Бот заполняет все поля подряд, в том числе и это. Если скрытое поле заполнено, заявку отклоняют.

Плюс: посетитель ничего не делает. Минус: бот, который написан специально под ваш сайт, ловушку может обойти.

2. Проверка времени заполнения

Человеку нужно хотя бы несколько секунд, чтобы прочитать форму, ввести имя и телефон. Бот отправляет форму почти сразу после загрузки страницы. Если заявка пришла слишком быстро, например быстрее 3 секунд, это почти наверняка не человек.

Порог важно не задирать: если сделать его большим, под фильтр попадут люди, у которых браузер сам подставил имя и телефон.

3. Одноразовый токен формы

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

4. Невидимая проверка браузера (proof-of-work)

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

5. Лимит заявок с одного IP

Если с одного адреса за короткое время пришло много заявок, следующие не принимаются. Это защищает от накрутки и от ботов, которые долбят форму без остановки.

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

6. Фильтр ссылок

Настоящему клиенту незачем вставлять ссылку в поле «Имя». Если в имени или комментарии есть ссылка, заявка, скорее всего, рекламная. Такой фильтр хорошо отсекает и ботов, и ручной спам.

7. Серверная проверка данных

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

8. Капча как последний рубеж

Если спам идёт, несмотря на все слои выше, можно включить капчу. Из российских сервисов чаще всего ставят Яндекс SmartCaptcha. Обычно посетителю достаточно отметить «Я не робот», а задание с картинками появляется только при подозрении. Но это всё равно дополнительный шаг, поэтому включать её стоит тогда, когда без неё никак.

Сравнение способов защиты

Способ От чего защищает Минус
Ловушка (honeypot) простые боты-рассыльщики обходится ботом, написанным под ваш сайт
Проверка времени боты, которые отправляют форму сразу слишком высокий порог задевает людей с автозаполнением
Одноразовый токен повторная отправка и отправка в обход формы нужна поддержка на стороне сервера
Невидимая проверка браузера массовая рассылка скриптами не мешает ручному спаму
Лимит по IP накрутка, флуд с одного адреса у людей бывает общий IP
Фильтр ссылок рекламный спам, в том числе ручной изредка ссылку оставляет и живой клиент
Серверная проверка и пересчёт цены подделка суммы и мусорные данные нужна поддержка на стороне сервера
Капча боты, прошедшие все слои лишний шаг для живых людей

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

Что делать, если спам уже идёт

Если форма уже засыпана мусором, действуйте по порядку.

  1. Посмотрите, что за спам. Ссылки в комментариях, случайные буквы, одинаковые заявки пачками, правдоподобные заявки с чужими телефонами. От этого зависит, какой слой усилить.
  2. Проверьте, есть ли у формы невидимая защита. Стандартные формы многих конструкторов и плагинов защищены слабо или вовсе без защиты. Иногда проще заменить форму, чем латать старую.
  3. Включите фильтр ссылок и лимит по IP. Это быстро убирает рекламный спам и флуд.
  4. Не спешите ставить капчу на все формы. Сначала посмотрите, помогли ли невидимые слои. Если нет, включите капчу и следите, не стало ли меньше настоящих заявок.
  5. Отделите ботов от аналитики. Если цели в аналитике срабатывали на спам, данные за этот период лучше не использовать для выводов о рекламе.
  6. Не удаляйте подозрительные заявки сразу. Просмотрите их хотя бы бегло: среди мусора бывает и живой клиент с неудачно заполненной формой.

Спам портит не только почту. Когда менеджеры получают десятки мусорных уведомлений в день, они перестают их внимательно читать, и настоящая заявка теряется среди ботов. Подробнее о том, почему заявки пропадают и как это проверить, мы писали в статье «Калькулятор с отправкой заявки».

Как устроена защита от спама в Qalca

Qalca это конструктор калькуляторов стоимости с формой заявки для сайтов. Защиту формы от спама мы сделали по тем же слоям, что описаны выше. Она встроена в форму заявки калькуляторов и в форму обратной связи.

  • Скрытое поле-ловушка. Люди его не видят, боты заполняют, и такая заявка отклоняется.
  • Проверка времени заполнения. Форма, отправленная быстрее 3 секунд после загрузки, не принимается.
  • Невидимая проверка браузера. Браузер посетителя незаметно решает небольшую вычислительную задачу. Посетитель ничего не решает и не нажимает.
  • Одна заявка на одну загрузку формы. Повторно отправить ту же форму скриптом нельзя.
  • Фильтр ссылок в имени и комментарии.
  • Лимит заявок с одного IP.
  • Яндекс SmartCaptcha по желанию. Включается в кабинете, если невидимых слоёв вам мало.
  • Цену пересчитывает сервер. Сумму в заявке подделать нельзя: в заявку попадают параметры, которые выбрал клиент, и сумма, посчитанная по вашим ценам.

Ещё одна страховка от потерь: каждая заявка сначала сохраняется в кабинете, а потом отправляется на почту, в Telegram или вебхуком в CRM. Если канал не ответил, отправка повторяется до 8 раз в течение суток, а после трёх неудач канал помечается красным и вам приходит уведомление. Telegram и вебхук в CRM есть на любом тарифе. Как подключить Telegram, читайте в статье «Заявки с сайта в Telegram».

Как поставить защищённую форму на сайт

  1. Выберите шаблон в каталоге. Если нужна просто форма без расчёта, подойдёт форма обратной связи. Если клиенту важно сразу увидеть цену, возьмите калькулятор своей ниши, например калькулятор натяжных потолков или калькулятор уборки квартиры.
  2. Задайте свои цены и коэффициенты. Подписи полей можно переименовать под ваш бизнес, а лишние поля скрыть. Если нужен вариант, которого нет в шаблоне, напишите нам.
  3. Подключите уведомления: почту, Telegram или вебхук в CRM. Отправьте тестовую заявку из кабинета.
  4. Вставьте одну строку кода на сайт. Подходит Тильда, WordPress, Битрикс, Wix и любой сайт, куда можно вставить HTML. Калькулятор можно открыть и попапом по кнопке.

Тарифы считаются за один калькулятор в месяц: Старт 490 ₽, Бизнес 1 490 ₽, Про 2 990 ₽. Если вы только выбираете инструмент, посмотрите статью «Как сделать калькулятор для сайта».

Откройте форму обратной связи или любой шаблон калькулятора и попробуйте Qalca 7 дней бесплатно.

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

Как защитить форму на сайте от спама без капчи?

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

Почему спам идёт, хотя капча стоит?

Капча не останавливает ручной спам: его отправляют живые люди. Кроме того, часть ботов научилась проходить простые капчи. Помогают фильтр ссылок, лимит по IP и проверка данных на сервере.

Что такое honeypot в форме?

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

Нужно ли включать Яндекс SmartCaptcha?

Не обязательно. Начните с невидимой защиты. Если спам всё равно проходит, включите SmartCaptcha как дополнительный рубеж. В Qalca она включается в кабинете.

Может ли защита от спама отсечь настоящего клиента?

Если пороги выставлены слишком жёстко, да. Поэтому проверка времени и лимит по IP должны быть мягкими: обычный человек не отправляет форму за секунду и не оставляет десятки заявок подряд.

  • защита формы от спама
  • спам в формах сайта
  • форма обратной связи
  • заявки с сайта
  • калькулятор для сайта