Цей запис не відповідає на початкове запитання, проте допомагає реалізувати подібне рішення. Як сказав @IanM, прапорець recaptcha знаходиться в бета-фазі, і його не можна використовувати без запрошення.
ВАЖЛИВА РОБОТА Google представила нову систему RECAPTCHA
Це CAPTCHA на базі JavaScript.
Оскільки більшість спам-ботів не виконують JavaScript і не можуть ідентифікувати кореляцію між відображеним текстом та DOM або необхідними діями, вони не можуть натиснути на прапорець.
Зверніть увагу, що прапорець взагалі відсутній, це лише елемент діва з деяким стилем CSS. Спам-боти намагаються заповнити елементи введення форми, але вводу CAPTCHA немає. Галочка - це ще один div (css class).
Коли ви натискаєте на поле, запит ajax повідомляє сервер, що натиснуто div і сервер зберігає цю інформацію у тимчасовому сховищі (позначає маркер: цей маркер був активований людиною). Коли ви подаєте форму, приховане поле надсилає маркер, який був активований, тоді, коли сервер перевіряє інформацію форми, він визнає, що маркер активований. Якщо маркер не активований, форма буде недійсною.
Крок у кульових точках:
- Створіть унікальний ідентифікатор та додайте його до форми із прихованим входом
- Зробіть прапорець на сайті (не використовуючи
<input>
елемент, можливо, використовуючи <div>
) та додайте до нього раніше створений ідентифікатор (ви можете використовувати html5data-*
атрибути )
- Коли користувач натискає прапорець, надішліть сервер запит ajax та підтвердіть CAPTCHA, якщо він дійсний, позначте його як
in use
. (Покажіть результат - ідентифікатору все в порядку / не в порядку - користувачеві)
- Коли користувач надсилає форму, дані форми містять ідентифікатор. Перевірте це ще раз, воно повинно існувати, і воно повинно бути
in use
стані.
- Якщо всі перевірки пройдено, дані форми готові до використання / обробки
Ви можете прив’язати ідентифікатор до сеансу користувача, IP-адреси та / або використовувати обмеження часу для підвищення безпеки.
ПРИМІТКА Цей вид CAPTCHA працює лише тоді, коли включений JavaScript!
ПРИМІТКА (відредагуйте 1) Як зазначено @crazypotato, є деякі засоби автоматизації, які можуть виконувати JavaScript, ці інструменти також здатні надіслати належний запит AJAX та запустити подія Click у розділі прапорця.
ПРИМІТКА (відредагуйте 2) Зауважте, що рано чи пізно буде пророблений сценарій, написаний на одному веб-сайті або для розбиття одного типу капчу. Кінцевого захисту немає, ви можете лише змусити ботів (або їх розробників) працювати більше.
ПРИМІТКА (редагуйте 3) Етапи та опис у цій відповіді містять лише основну інформацію про цей тип капчу, вам завжди потрібно додати додаткові перевірки та заходи безпеки, щоб зробити її більш захищеною. Наприклад, Google noCaptcha систематично запускає стандартну reCaptcha після 3 "натискань".