Одна проверка не отличит все автоматические обращения от полезных. Защиту удобнее строить слоями и сохранять возможность разобраться с ложным срабатыванием. Правила защиты согласуйте с полями и сценарием вашей формы.
Honeypot как дополнительный сигнал
Необязательное скрытое поле может помочь обнаружить простую автоматизацию. Не требуйте от человека его заполнить и исключите из клавиатурной навигации. Это не секрет и не механизм авторизации.
<div hidden>
<label for="website_trap">Оставьте поле пустым</label>
<input id="website_trap" name="website_trap" tabindex="-1" autocomplete="off">
</div>
Ограничения на принимающей стороне
Проверяйте размер тела и число полей до дорогой обработки. Ограничивайте частоту по продуманным ключам и возвращайте документированную ошибку, например 429. Общий IP не всегда означает одного человека, поэтому слишком грубое правило может заблокировать полезные обращения.
Не переносите защиту только в JavaScript. Бот способен отправить запрос напрямую. Origin и Referer дают контекст, но не доказывают личность отправителя.
Проверка без настоящего спама
На собственном тестовом endpoint проверьте заполненный honeypot, превышение размера и серию синтетических запросов в согласованных пределах. Убедитесь, что UI объясняет отказ и сохраняет ввод. Не тестируйте чужие системы нагрузкой.
Карантин и ручное восстановление полезных обращений требуют отдельной реализации; наличие поля в шаблоне этого не создаёт.
Опциональная ALTCHA
В настройках формы Субмито можно включить вычислительную проверку ALTCHA. Обновите код сайта из инструкции кабинета: браузер получает небольшую задачу и передаёт результат вместе с заявкой. Для этого нужны JavaScript и HTTPS. Скрипты и проверка работают на инфраструктуре Субмито без внешнего сервиса.
PoW увеличивает стоимость массовой отправки, но не доказывает присутствие человека. Поэтому honeypot и серверные ограничения продолжают действовать. Проверяйте форму на мобильном устройстве, сохраняйте ввод при ошибке и не показывайте успешную отправку до ответа сервера.
Источники и дата проверки
Редакционная сверка: 2026-11-03. Учитывайте версию инструментов в своём проекте.
Обновлено