Решение reCAPTCHA v3

Опубликовано:

Мы уже больше трёх недель занимаемся reCAPTCHA v3 и сегодня мы готовы показать Вам наши результаты.

Немного вводной информации о reCAPTCHA v3

Как Вы знаете, reCAPTCHA v3 не просит что-либо решить, а лишь даёт сайту информацию о качестве пользователя, который её проходил. И что особенно важно, у одного пользователя для разных сайтов будет разная оценка. Оценка, которую выдаёт google.com пользователю, находится в пределах от 0.1 до 0.9.

Мы провели серию экспериментов и выяснили, что если пользователь на каком-либо сайте получает 0.1, то с вероятностью в 90% он такую же оценку получит и на остальных сайтах.

Как устроено решение от RuCaptcha.com

Каждому работнику мы даём тестовую капчу и смотрим его score. Когда от заказчика приходит капча с требованием минимального score, то капчу мы выдаём только работникам, score которых подходит под заданный параметр. 80-90% полученных решений в итоге имеют нужный score на том сайте, где Вы проходите reCAPTCHA v3.

Как загрузить капчу reCAPTCHA v3

Загрузить капчу можно вот таким запросом:

http://rucaptcha.com/in.php?key=APIKEY&method=userrecaptcha&googlekey=googlekey&pageurl=https://site.com/page.html&version=v3&action=verify&min_score=0.5

Загрузка капчи аналогична загрузке reCAPTCHAV2, но добавляются новые параметры:

  • version=v3 указывает, что это рекапча третьей версии

  • action=verify указывает, как именно называется action на проходимой странице

  • min_score=0.3 указывает, какой минимальный min_score должен будет получить ответ

Цена

На время тестирования цену поставили такую же как и на reCAPTCHA v3.

Возврат средств за неработающие токены

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

А вот с reCAPTCHA v3 ответы одного работника для двух разных сайтов могут быть разными. Для одного сайта у него рейтинг будет 0.1, а для другого 0.5.

Что мы делаем

Помимо стандартной жалобы reportbad:

http://rucaptcha.com/res.php?key=YOUR_API_KEY&action=reportbad&id=CAPTCHA_ID

которую нужно отправлять, если сайт не принял токен, появляется параметр, указывающий, что ответ работника подошёл reportgood:

http://rucaptcha.com/res.php?key=YOUR_API_KEY&action=reportgood&id=CAPTCHA_ID

При отправке его, мы добавим работника на некоторое время в WhiteList для Вашего аккаунта, и изначально Ваши капчи будут получать работники из Вашего whitelist.

В будущем, скорее всего, мы будем делать возвраты за reportbad только при условии, что заказчик шлёт reportgood. В данный момент возвратов за reportbad нет, но в будущем будут, наверное.

Какой min_score лучше запрашивать?

Сейчас min_score бывает только трёх вариантов: 0.1, 0.3 и 0.9. Те сайты, которые уже используют reCAPTCHA v3 и которые мы протестировали, - принимают не только 0.9, но и 0.3; score=0.1 никто из протестированных не принимает. Поэтому мы советуем изначально запрашивать 0.3, и только, если более 50% токенов не подходит, - тогда запрашивать 0.9. Стоит отметить, что работников, имеющих score 0.3 в два раза больше, чем работников со score 0.9.