ReCaptcha3
Пожалуйста, ознакомьтесь с Правилами использования материалов на данном ресурсе
Добавлено в ZennoPoster 5.25.0.0 и CapMonster 2.10.8.6.
В мае 2018 года, компания Google представила новую версию ReCaptcha. Теперь система работает в «фоне» и не требует никаких действий от пользователя.
ReCaptcha v3 анализирует поведение посетителей сайта и другие параметры, оценивая их по шкале от 0 до 1, где единица - это хорошо.
На основе этой оценки владелец сайта решает, что делать с пользователем: пропустить, заблокировать, ограничить функционал, отказать в действии, устроить дополнительную проверку и т.п.
Когда на сайте используется ReCaptcha v3, внизу страницы появляется такая иконка:
Более подробная информация здесь.
Как это работает
Владелец сайта встраивает специальный код на страницу, который обрабатывает данные о пользователе и возвращает токен. Далее, с помощью переданного токена, происходит верификация пользователя.
Пример использования ReCaptcha v3 на странице:
<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
<script>
grecaptcha.ready(function() {
grecaptcha.execute('reCAPTCHA_site_key', {action: 'homepage'}).then(function(token) {
//верификация пользователя
});
});
</script>
Для отправки ReCaptcha v3 на распознавание в CapMonster2, Вам необходимо сформировать запрос, который будет включать URL и sitekey страницы, а также action. В примере, в качестве параметра action, указан 'homepage'.
CapMonster2 присылает в ответ токен, который можно использовать для верификации.
Использование в ZennoPoster
Для отправки каптч ReCaptcha v3 из ZennoPoster Вы можете использовать специальный кубик Распознать ReCaptcha:
Также, в кубике можно изменять параметры каптчи: action и min score. Пока min score в CapMonster2 не поддерживается.
Если ZennoPoster автоматически не может определить нужный sitekey, то вместо “Во вкладке” выберите “Через SiteKey”. При этом необходимо будет указать ключ sitekey, с целевого сайта, где находится каптча, а также URL адрес самого сайта.
Поддерживаемые модули
Разгадывание ReCaptcha v3 поддерживается через следующие модули:
CapMonster2;
Работа с токеном
После получения токена необходимо передать его в функцию верификации. Так как верификация может произойти в любой момент времени, нужно перехватить запрос на получение токена и в ответе подменить его на полученный токен из CapMonster2.
Для подмены токена Вы можете использовать подготовленный нами сниппет:
var sitekey = //SiteKey
string newToken = //New Token
string replaceRegex = @"(?<=\[""rresp"","").*?(?="")";
instance.ChangeResponse("https://www.google.com/recaptcha/api2/reload\\?k="+sitekey,
new List<string> {replaceRegex}, new List<string> {newToken}, false);
Примечание
Использование SiteKey в сниппете не является обязательным. Но нужно учитывать, что без использования SiteKey будут перехватываться запросы ото всех каптч, включая ReCaptcha2.
Если это не является проблемой, Вы можете использовать такую версию сниппета:
string newToken = //New Token
string replaceRegex = @"(?<=\[""rresp"","").*?(?="")";
instance.ChangeResponse("https://www.google.com/recaptcha/api2/reload",
new List<string> {replaceRegex}, new List<string> {newToken}, false);