Иллюстрация кейса: защита форм на 24 сайтах без CAPTCHA

01

Задача

На одном хостинге работали 24 лендинга с 91 формой: на страницах, во всплывающих окнах и квизах. Шаблоны и PHP-обработчики различались, часть форм появлялась после действий посетителя.

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

02

Решение

Как встроил защиту

  • Составлена карта всех 91 точек заявки, включая динамические формы, попапы и квизы.
  • На стороне браузера добавлены скрытое поле-ловушка и подписанный временный токен.
  • PHP-обработчики проверяют подпись и срок токена, время заполнения, повторы, частоту и корректность данных.
  • Подозрительным запросам возвращается нейтральный ответ без раскрытия критериев фильтрации.
  • Темы писем уточнены для различения сайтов и расположения форм; после тестов исходные получатели восстановлены.

Почему здесь была нужна работа с процессом

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

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

03

Результат

Как проверяли результат

Каждая из 91 формы получила контрольную отправку. В сохранённых материалах проекта зафиксированы HTTP200 и статус защиты accepted для всех 91 запросов. Проверены страницы, всплывающие формы и квизы.

  • Проверен охват: 24 сайта и 91 форма.
  • Подтверждено принятие контрольных отправок серверными обработчиками.
  • Для посетителя не добавлен отдельный шаг CAPTCHA.

Что этот результат не доказывает

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

Фильтрацию спама в рабочем потоке оценивают по журналам отправок после внедрения.

Защита охватила все 91 форму, включая всплывающие окна и квизы. Проверка доставки писем и наблюдение за спамом в рабочем потоке — отдельные задачи.

Когда опыт этого проекта полезен

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