Эта запись не отвечает на первоначальный вопрос, однако она помогает реализовать подобное решение. Как сказал @IanM, флажок recaptcha находится в бета-фазе, и его нельзя использовать без приглашения.
ВАЖНОЕ РЕДАКТИРОВАНИЕ Google представил новую reCAPTCHA
Это CAPTCHA на основе JavaScript.
Поскольку большинство спам-ботов не выполняют JavaScript и не могут определить корреляцию между отображаемым текстом и DOM или необходимые действия, они не могут установить флажок.
Обратите внимание, что флажок вообще отсутствует, это просто элемент div с некоторыми стилями CSS. Спам-боты пытаются заполнить элементы ввода формы, но в CAPTCHA нет ввода. Галочка - это просто еще один div (класс css).
Когда вы нажимаете на поле, ajax-запрос уведомляет сервер о том, что div был нажат, и сервер сохраняет эту информацию во временном хранилище (помечает токен: этот токен был активирован человеком). Когда вы отправляете форму, скрытое поле отправляет активированный токен, а затем, когда сервер проверяет информацию формы, он распознает, что токен активирован. Если токен не активирован, форма будет признана недействительной.
Шаги в пунктах пули:
- Сгенерируйте уникальный идентификатор и добавьте его в форму со скрытым вводом
- Установите флажок на сайте (без использования
<input>
элемента, возможно, с использованием <div>
) и добавьте к нему ранее созданный идентификатор (вы можете использовать data-*
атрибуты html5 )
- Когда пользователь нажимает на флажок, отправляет ajax-запрос на сервер и проверяет CAPTCHA, если он действителен, пометьте его как
in use
. (Показать результат - идентификатор в порядке / не в порядке - для пользователя)
- Когда пользователь отправляет форму, данные формы содержат идентификатор. Проверьте еще раз, он должен существовать, и он должен быть в
in use
состоянии.
- Если все проверки пройдены, данные формы готовы к использованию / обработке
Вы можете привязать идентификатор к сеансу пользователя, IP-адресу и / или использовать ограничения по времени для повышения безопасности.
ПРИМЕЧАНИЕ. Этот тип CAPTCHA работает только при включенном JavaScript!
ПРИМЕЧАНИЕ (правка 1) Как было сказано в @crazypotato, есть некоторые инструменты автоматизации, которые могут выполнять JavaScript, эти инструменты также способны отправлять правильный AJAX-запрос и запускать событие Click на флажке div.
ПРИМЕЧАНИЕ (правка 2) Обратите внимание, что сценарий, написанный специально для одного сайта или для того, чтобы сломать один тип капчи, рано или поздно будет пройден. Нет предельной защиты, вы можете только заставить ботов (или их разработчиков) работать усерднее.
ПРИМЕЧАНИЕ (правка 3) Шаги и описание в этом ответе содержат только некоторые основные сведения об этом типе капчи, вам всегда нужно добавлять дополнительные проверки и шаги по обеспечению безопасности, чтобы сделать его более безопасным. Например, Google noCaptcha систематически запускает стандартную reCaptcha после 3 «div кликов».