Помимо reCAPTCHA, для защиты форм от ботов можно использовать следующие альтернативные методы:
- Минимальное время заполнения формы. habr.com Сервер замечает время создания формы. habr.com Если пользователь заполнил её меньше чем за определённое время, то он считается ботом. habr.com Время можно варьировать в зависимости от сложности формы. habr.com
- Скрытое поле. habr.com mchost.ru К форме добавляется скрытое поле, которое пользователь не может заполнить из-за его невидимости на веб-странице. mchost.ru Если поле заполнено, то пользователь считается ботом. habr.com
- Обфускация или шифрование HTML. habr.com Исходный код страницы шифруется с помощью различных методов, например, от простого эскейпирования значений букв до алгоритмов шифрования. habr.com
- Блокирование определённых user-agent. habr.com leadplan.ru Некоторые боты используют специфические заголовки user-agent. habr.com Можно блокировать запросы, не содержащие user-agent или содержащие заведомо плохой заголовок. habr.com
- «Ловушка» для ботов. habr.com Создаётся специальный раздел сайта, ссылка на который не видна для пользователя. habr.com Если бот зайдёт в этот раздел и сделает там что-нибудь, то его IP тут же блокируется. habr.com
- Хеширование формы. habr.com При отправке формы на сервер вычисляется хеш полей формы и добавляется в одно из специальных скрытых полей. habr.com Сервер проверяет значение хеша. habr.com
- Использование прозрачных кнопок. habr.com У формы есть несколько кнопок, на одной из которых написан текст, остальные — прозрачные. habr.com Для отправки формы пользователь должен нажать на картинку с текстом. habr.com
- Динамическое создание формы. habr.com Форма полностью создаётся javascript-методом, поэтому её может увидеть лишь пользователь, у которого отработал соответствующий скрипт. habr.com
Эти методы не являются универсальной защитой от ботов и могут использоваться как по отдельности, так и в комбинации. habr.com