Google не принимает часть ответов на reCAPTCHA
Описание проблемы
В начале июля несколько клиентов, независимо друг от друга, пожаловалась нам о том, что часть токенов для прохождения reCAPTCHA, которые они получают от нас, не принимается сайтами, где проходится капча. Мы провели ряд экспериментов и выявили, что при верификации ответа на reCAPTCHA, Google.com может вернуть вот такую ошибку:
{"success":false,"error-codes":["incorrect-captcha-sol"]}
Этой проблеме подвержен не только наш сервис решения капч RuCaptcha.com, но и обычные люди, которые проходят reCAPTCHA на каком-либо сайте, но сайт не принимает ответ на капчу от них.
В API reCAPTCHA нет описания данной ошибки. Доподлинно нам не известны её причины, но некоторые зависимости мы смогли найти.
От чего зависит получение incorrect-captcha-sol
Появление incorrect-captcha-sol
, по нашим наблюдениям, происходит по двум факторам:
Очень плохой IP
У Google, видимо, есть рейтинг для каждого IP-адреса. Если Вы решаете reCAPTCHA без ошибок и не более 50 капч в сутки, то этот IP будет считаться хорошим.
Если Вы делаете что либо из этого списка:
-
совершаете много ошибок при решении
-
открываете капчу, но не прорешиваете её до конца
-
решаете больше двух капч в минуту
То Ваш IP либо банится вообще, либо начинает получать такие токены, которые при дальнейшей проверке получают incorrect-captcha-sol
.
Плохие cookie
Помимо рейтинга IP, у Google есть рейтинг пользователей. Каждому, кто заходил на google.com или на страницу с установленной reCAPTCHA, присваиваются свои cookie. Google анализирует Ваши действия в сети и оценивает, насколько Вы похожи на живого человека или на робота. Если пользователь с одним набором cookie целый день решает капчи, даже если это делается с разных IP, то это, скорее всего, робот и такой пользователь будет решать капчи до зелёной галочки, но при дальнейшей проверке его ответа Google будет возвращать
{"success":false,"error-codes":["incorrect-captcha-sol"]}
Самое обидной в этом то, что при авторизации в гугловом почтовике gmail.com, Google проассоциирует Вас с Вашими прошлыми действиями и, если хоть один раз в прошлом посчитал Вас роботом, то теперь у Вас в 3 из 4 случаев не будет приниматься решение reCAPTCHA.
Как RuCaptcha борется с incorrect-captcha-sol
Для снижения количества “плохих” токенов в ответах на капчи заказчиков, мы регулярно чистим куки в приложении работников, а также следим за качеством IP-адресов работников. Про это расскажем чуть подробнее.
Да, некоторая часть наших работников имеет “очень плохие” IP-адреса, решая с которых reCAPTCHA они получают токены, которые при последующей верификации получают incorrect-captcha-sol
. Для борьбы с этим, мы раз в час выдаём тестовую reCAPTCHA для каждого уникального IP-адреса и верифицируем ответ на неё в google.com. Если мы получили incorrect-captcha-sol
, то мы перестаём выдавать капчи для решения с этого IP и данный пользователь может решать капчи только через прокси (прокси, в свою очередь, также регулярно проверяются).
Таким образом мы снижаем процент “плохих” ответов до 1-3%. К сожалению, прошли те времена, когда мы с гордостью говорили, что все 100% ответов на reCAPTCHA от нашего сервиса верные.
Возвраты за плохие решения
С июля мы включили приём reportbad на reCAPTCHA. Поэтому для сокращения издержек на капчу, Вы можете настроить автоматическое уведомление нас о том, что полученный от нас токен не прошёл верификацию, как это сделать описано у нас в API\Reportbad.
Каждый час мы собираем статистику по жалобам на работников и возвращаем средства за те капчи, которые были разгаданы "плохим" работником.
Похоже, гугл считает мой IP\cookie плохим. Я нигде не могу пройти капчу, что мне делать?
Да, множество простых людей столкнулись с проблемой, что они не могут пройти авторизацию\регистрацию на сайтах, где установлена reCAPTCHA. Что с этим делать, мы расскажем в следующей новости. Следите за обновлениями на нашем блоге!