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.

Помимо рейтинга 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. Что с этим делать, мы расскажем в следующей новости. Следите за обновлениями на нашем блоге!