Спам через форму на сайте: как защититься без капчи

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

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

Почему спам опасен не только раздражением

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

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

Невидимые ловушки

Первый уровень защиты посетитель вообще не замечает. В форму добавляется скрытое поле, которое человек не видит и не заполняет, а простой бот заполняет, потому что видит его в коде страницы. Заявка с заполненным скрытым полем отбрасывается.

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

Эти два приёма отсекают большую часть примитивных ботов и ничего не стоят посетителю.

Проверки на сервере

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

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

Когда капча всё же нужна

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

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

Как не потерять настоящие заявки

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

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

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