нажмите разрешить чтобы подтвердить что вы не робот
У вас постоянно вылезает капча и достает вопросом «Вы не робот?» Зачем ее придумали и как от нее избавиться
Откуда взялась CAPTCHA?
Технология CAPTCHA (сейчас будет страшная расшифровка: Completely Automated Public Turing Test to tell Computers and Humans Apart — «полностью автоматический тест Тьюринга, разделяющий компьютеры и людей») появилась в 2000 году.
Это была первая успешная попытка установить «фейс-контроль» для каждого посетителя сайта. Сетевые боты только начали появляться, но разработчики подготовились с ними сражаться. Бот-системы могли перегружать сайты, делая их недоступными для живых людей. Так, например, на форуме без капчи в начале нулевых можно было автоматически зарегистрировать десятки тысяч фейков и заспамить форум рекламой.
Для борьбы с такими ситуациями в американском Университете Карнеги-Меллона придумали скрипт, который требовал при доступе к сайту ввести символы с трудноразличимой картинки. Для пользователя ребус был несложный: буквы, раскиданные по изображению в хаотичном порядке и искаженные помехами, легко считывались человеком. Зато компьютерные системы распознавания текста терялись. Такой простейший барьер позволил значительно снизить нагрузку на популярные сайты, а также защитить многие порталы от фейковых регистраций и комментариев.
Как CAPTCHA стала полезной
Когда «капчу» стали использовать чересчур часто, сообщество задумалось о более полезном применении технологии. В 2007 году появилась reCAPTCHA, где вместо абстрактных картинок пользователям показывали нераспознанные компьютером слова из сканов архивных выпусков газеты The New York Times.
Аудитория теперь не расшифровывала тарабарщину, а помогала оцифровывать бумажную прессу XX века. Подтвердил, что ты человек, а заодно добавил слово.
Вскоре технологию купила Google и использовала ее для оцифровки книг.
Боты тоже развивались и научились автоматически распознавать текстовую reCAPTCHA. Тогда Google выпустила принципиально новый алгоритм проверки. Теперь вместо расшифровки слов пользователям предлагали среди девяти картинок найти те, где есть котики, дорожные знаки или, например, бананы. reCAPTCHA вновь стала эффективной, а людям не пришлось ломать глаза в попытке распознать очередное неудачно отсканированное слово из книги.
В самой новой версии reCAPTCHA человеку вообще не нужно напрягаться, достаточно поставить галочку напротив отметки «Я не робот» — алгоритм анализирует движения курсора (бот пойдет по прямому кратчайшему пути) и IP-адрес. До недавних пор reCAPTCHA работала крайне эффективно и почти незаметно для пользователей.
Однажды что-то пошло не так
С первыми ошибками в работе reCAPTCHA столкнулись пользователи смартфонов. Заходишь в строку поиска Google, но вместо результата браузер показывает графическую «капчу». где надо искать объекты на матрице изображений. Причем успешно пройти тест порой было невозможно, reCAPTCHA требовала от пользователя вновь и вновь отмечать картинки.
Вслед за Google проверка пользователя всплыла и на других сайтах. Российский интернет наполнился жалобами на операторов связи, Google и даже Роскомнадзор — пользователей раздражало, что сайты при каждом посещении начали требовать подтверждения человеческой природы.
Первое время никто, включая техподдержку сайтов и провайдеров, не мог внятно ответить на вопрос, что же случилось и как пройти проверку reCAPTCHA. Когда специалисты взялись за изучение проблемы, всплыли сразу несколько причин, по которым сервис проверки на «человечность» начал неистово сбоить.
Блокировка сервиса и капча
Почему сервис заблокировали?
Сервис Яндекса может быть заблокирован, если на него поступает много похожих запросов от пользователей или программ. Например, если несколько человек пользуются каким-нибудь сервисом Яндекса с устройств, подключившихся к интернету с одного IP-адреса. В таком случае Яндекс принимает всех этих пользователей за одного и просит дополнительное подтверждение.
Почему после нажатия «Я не робот» мне предлагается ввести код?
Иногда подтверждения «Я не робот» недостаточно, чтобы отличить реального человека от программы. Мы постоянно работаем над улучшением алгоритмов, но иногда просим пройти дополнительную проверку.
Используйте строчные и прописные буквы. Знаки препинания и пробелы можно игнорировать.
Вместо символов с картинки можно ввести цифры из звуковой капчи:
Если символы введены верно, Яндекс запомнит ваш браузер как проверенный (при условии, что файлы cookie сохраняются в вашем браузере постоянно).
Если вам необходимо совершать именно автоматические запросы к Яндексу, воспользуйтесь сервисом Яндекс.XML.
Если вы долгое время не можете вернуться к сервису из-за дополнительных проверок, напишите об этом в cлужбу поддержки.
Как с моего IP-адреса может выходить в сеть кто-то другой?
Запросы, поступившие с вашего IP-адреса, не обязательно отправляются с вашего устройства. Интернет-провайдеры иногда объединяют нескольких абонентов под одним IP-адресом.
Если вы подключаетесь к общественной сети, например находитесь в кафе и выходите в интернет через Wi-Fi, то у вас один IP-адрес со всеми, кто пользуется той же точкой Wi-Fi.
Капча появляется слишком часто
Основные причины частого появления капчи:
Чтобы капча перестала появляться слишком часто:
Не вижу картинку капчи
Если после выбора опции «Я не робот» картинка капчи не появилась, посмотрите, виден ли логотип Яндекса в левом верхнем углу страницы:
Возможно, браузер блокирует отображение всех картинок:
Символы капчи неразборчивые
Если вы видите на картинке капчи неразборчивые символы:
Нет русской раскладки на клавиатуре
Используйте один из способов:
Написать в службу поддержки
Пожалуйста, обратитесь в службу поддержки этого сервиса напрямую. Для этого воспользуйтесь формой обратной связи в Справке этого сервиса (обычно формы расположены внизу страниц или доступны из оглавления). Так ваше сообщение сразу попадет к нужным специалистам, и вам ответят быстрее.
Чтобы сообщить о проблеме с вашим сайтом, перейдите в раздел Обратная связь справки Яндекс.Вебмастера.
Блокировка сервиса и капча
Почему сервис заблокировали?
Сервис Яндекса может быть заблокирован, если на него поступает много похожих запросов от пользователей или программ. Например, если несколько человек пользуются каким-нибудь сервисом Яндекса с устройств, подключившихся к интернету с одного IP-адреса. В таком случае Яндекс принимает всех этих пользователей за одного и просит дополнительное подтверждение.
Почему после нажатия «Я не робот» мне предлагается ввести код?
Иногда подтверждения «Я не робот» недостаточно, чтобы отличить реального человека от программы. Мы постоянно работаем над улучшением алгоритмов, но иногда просим пройти дополнительную проверку.
Используйте строчные и прописные буквы. Знаки препинания и пробелы можно игнорировать.
Чтобы сменить картинку капчи, нажмите значок .
Вместо символов с картинки можно ввести цифры из звуковой капчи:
Исправить ошибку reCAPTCHA «Я не робот» в поиске Google »WebNots
CAPTCHA — это аббревиатура от C полностью А utomated п БЩЕСТВЕННЫЕ Т Уринг тест, чтобы сказать C компьютеры и ЧАС умнс А часть. Это сложный тест, позволяющий отличить людей от автоматических ботов на основе ответа. reCAPTCHA — одна из служб защиты от спама CAPTCHA, купленная Google. Теперь он предлагается бесплатно для веб-мастеров, и Google также использует reCAPTCHA в своих собственных сервисах, таких как Google Search.
Автоматизированные роботы — самая большая головная боль при рассылке спама и потреблении ресурсов сервера, которые должны использоваться реальными пользователями. Чтобы избежать использования автоматических ботов, Google ввел «Нет CAPTCHA reCAPTCHA”Концепция API для владельцев веб-сайтов для защиты своих сайтов. Позже, чтобы улучшить пользовательский интерфейс, Google представил невидимая reCAPTCHA а также Android API.
Невидимая CAPTCHA помогает останавливать ботов, не показывая пользователям-людям сообщение «Я не робот». Но это не работает во многих ситуациях, так как сообщение все равно будет отображаться. Например, сама страница поиска Google будет отображать CAPTCHA-сообщение «Я не робот» при определенных обстоятельствах, когда вы вводите запрос и нажимаете кнопку поиска. Вам будет предложено доказать, что вы человек, установив флажок или выбрав изображения на основе данной подсказки.
Почему это неловко?
Когда вы выполняете настоящий поиск в Google, и вас прерывает сообщение «Я не робот», это действительно смущает вас. Иногда это позволяет просто установить флажок. Google проверит положение щелчка на флажке. Боты щелкают точно по центру флажка, а люди щелкают где-нибудь в поле. Это поможет решить Google, является ли пользователь человеком или ботом.
Проверка CAPTCHA в поиске Google
Даже есть расширение браузера для Chrome чтобы установить флажок, как только страница загрузится.
Но в большинстве случаев вам требуется пять или шесть проверок, прежде чем вы увидите реальные результаты поиска. Не забудьте нажать кнопку «Подтвердить», если вы не видите подходящих изображений или когда вы чувствуете, что проверка завершена. Google решит подтвердить проверку или продолжит проверку.
В худшем случае Google полностью остановит вас, показав страницу с сожалением. Единственный вариант — подождать и попробовать позже.
Страница с сожалением в Google
Какова основная причина сообщения reCAPTCHA «Я не робот»?
Что ж, когда вы получите сообщение reCAPTCHA «Я не робот», просто нажмите «Почему это произошло? Ссылка на сайт. В качестве альтернативы вы можете перейти на эта извиняющаяся страница Google в любое время, чтобы увидеть причины, указанные ниже:
Эта страница появляется, когда Google автоматически обнаруживает запросы, поступающие из вашей компьютерной сети, которые, как представляется, нарушают Условия использования. Блокировка истечет вскоре после прекращения этих запросов.
Этот трафик мог быть отправлен вредоносным программным обеспечением, плагином браузера или сценарием, который отправляет автоматические запросы. Если вы используете общее сетевое соединение, обратитесь за помощью к администратору — это может быть другой компьютер, использующий тот же IP-адрес. Выучить больше
Иногда вы можете увидеть эту страницу, если используете расширенные термины, которые, как известно, используют роботы, или если отправляете запросы очень быстро.
Исправить ошибку reCAPTCHA «Я не робот» в поиске Google
К сожалению, сильных альтернатив поиску в Google нет. Bing и Yahoo! далеки от ожидаемых результатов и нигде не ближе к точности Google. Итак, попробуйте следующие варианты решения проблемы «Я не робот», даже некоторые моменты не имеют для вас смысла.
1. Проверьте свой IP-адрес.
Google блокирует результаты поиска на основе исходного IP-адреса. Существует большое количество баз данных, поддерживаемых публичными и частными компаниями для отслеживания подозрительных IP-адресов. Если с вашего IP-адреса происходят какие-либо подозрительные действия и он помечен как спам, Google выдаст сообщение reCAPTCHA и остановит вас для проверки.
Обычно интернет-провайдеры используют динамические IP-адреса с большим диапазоном. Поэтому отключите подключение к Интернету и подключитесь снова, чтобы получить новый IP-адрес. Или просто подождите, а затем попробуйте поискать снова. Возможно, для этого вы можете сбросить модем или маршрутизатор. Если вы хотите сбросить IP-адрес вручную, выполните следующие действия:
Сбросить IP-адрес в Windows 10:
Сбросить IP-адрес на Mac:
2. Проверьте свою сеть
Иногда (в основном в таких странах, как Китай) интернет-провайдер (ISP) маскирует IP-адрес и отслеживает ваши действия в Интернете. Это приведет к тому, что вся сеть IP-адресов, используемых этим интернет-провайдером, будет заблокирована системами безопасности, такими как reCAPTCHA, используемым Google. Если вы сталкиваетесь с CAPTCHA в каждом случае, обратитесь к своему интернет-провайдеру и уточните у него проблему.
Другая проблема с сетью может быть связана с совместным использованием сети Wi-Fi. В этом случае есть вероятность, что кто-то еще в вашей сети может отправлять некоторый автоматический трафик, и Google остановит поиск по всей сети. Вы можете связаться с сетевым администратором, чтобы решить проблему и получить более подробную информацию.
Также вы можете получить уникальный статический IP-адрес от своего интернет-провайдера. Это поможет вам решить проблему со спамом в сети. Узнайте больше о том, как назначить вашему компьютеру статический IP-адрес.
3. Прекратите использовать VPN
Виртуальная частная сеть (или VPN) скрывает ваш IP-адрес и направляет трафик из другого места. Это используется для доступа к заблокированным веб-сайтам, а также используется в основном для сокрытия исходного IP-адреса для совершения незаконных действий. Использование VPN незаконно во многих странах из-за характера использования. Хотя вы можете использовать его в хороших целях, весь сервер не может быть чистым или заблокированным.
Поэтому избегайте использования бесплатных приложений VPN и удаляйте их со своего компьютера. Если вы используете услугу VPN премиум-класса, обсудите это со своим поставщиком услуг VPN и найдите подходящий сервер для правильного подключения. Насколько мы проверили, в большинстве случаев Google показывает, что я не робот, проверяющий reCAPTCHA при подключении через VPN-сервер. Проблема редко возникает при отключении от VPN и использовании общедоступного DNS Google.
4. Избегайте неизвестных прокси-серверов.
Подобно интернет-провайдеру и VPN, прокси-сервер, который вы используете, также может доставить вам проблемы, поскольку через этот прокси-сервер могут быть идентифицированы незаконные действия. Не используйте ненадежные прокси-серверы в своем браузере для маршрутизации всего трафика через них. В Windows 10 вы можете нажать клавишу Windows и перейти к опции «Настройки> Сеть и Интернет». Здесь вы можете отключить все прокси и VPN-соединения. Узнайте больше об изменении сетевых настроек в Windows.
На Mac выполните действия, аналогичные описанным выше, для сброса IP-адреса. На вкладке «Прокси» удалите все прокси-серверы.
5. Используйте Google Public DNS.
Другой проблемой в сети может быть ваш DNS. Система доменных имен или DNS помогает преобразовать числовой IP-адрес веб-сайта в имя хоста. Проблема с DNS может быть связана с настройками вашего компьютера, интернет-провайдером или частным DNS VPN. Хотя поврежденный DNS не вызовет сообщения reCAPTCHA, он замедлит соединение.
Простым решением здесь является переключение DNS на надежный общедоступный DNS. Ознакомьтесь со статьей о том, как использовать общедоступный DNS Google. В большинстве случаев это поможет решить проблемы с подключением к Интернету.
6. Прекратите искать незаконные запросы
Что ж, если вы действительно пытаетесь искать незаконные термины, то, скорее всего, Google остановит вас для проверки. Вы можете очистить кеш своего браузера и повторить поиск. Помните, что Google может легко отслеживать все поисковые запросы с IP-адресов. Таким образом, очистка кеша браузера будет работать только в том случае, если вы случайно что-то искали не так. В противном случае любые поиски, нарушающие условия Google, будут остановлены, и вам придется немного подождать, прежде чем повторить попытку.
7. Уменьшите количество кликов
Если вы не используете VPN, прокси-сервер, ваш IP-адрес и интернет-провайдер в порядке, то наиболее вероятной причиной могут быть необычные щелчки с вашей стороны. Когда вы вводите ключевое слово и очень быстро нажимаете клавишу ввода, Google сопоставит вашу активность с автоматическими ботами и остановит вас.
Хотя это странно, уменьшите скорость и скорость щелчков мыши и используйте обычную скорость, чтобы избежать сообщения CAPTCHA.
8. Остановите отправку автоматических запросов.
Вы можете легко искать термины напрямую, используя URL-адрес, например «https://www.google.com/#q=search-term». Это самый популярный способ отправки трафика в Google автоматическими ботами. Всегда используйте поле поиска для отправки условий запроса и избегайте прямого поиска по URL-адресу.
Если вы разработчик, прекратите манипулировать запросом пользователя перед отправкой в Google. Также отображайте результаты поиска в том виде, в котором они получены от Google, без каких-либо манипуляций.
9. Ищите людей, а не роботов
Например, автоматические боты используют заглавные буквы между словами, в то время как большинство людей не будут искать так. Так что всегда ищите термин, используя способ, которым делают нормальные люди.
10. Проверьте вредоносное ПО и расширения браузера.
Ваш компьютер может быть заражен вредоносным ПО, которое автоматически отправляет трафик в Google. Также некоторые расширения и плагины браузера могут отправлять автоматический трафик. Если вы часто видите сообщение «Я не робот», проверьте свой компьютер на наличие вредоносных программ и удалите ненужные расширения браузера. Попробуйте официальную Инструмент очистки Chrome если вы используете операционную систему Chrome и Windows.
Если вы удалили какое-либо вредоносное ПО, сбросьте настройки браузера до исходных.
Последние мысли
Google остановится с сообщением CAPTCHA только при обнаружении необычной активности трафика. Как только необычная активность будет остановлена, Google позволит вам выполнять поиск в обычном режиме. Так что, если вы часто видите сообщение, значит, что-то не так. Скорее всего, сеть рассылает спам или вы слишком быстро подбираете ботов. Подумайте о том, чтобы тщательно проверить свою сеть, замедлить свои действия и использовать общедоступный DNS, чтобы избавиться от сообщения CAPTCHA «Я не робот». Если у вас все еще есть проблема, опубликуйте ее в официальном Форум поиска Google получить совет экспертов.
Нажмите разрешить чтобы подтвердить что вы не робот
КАК ОТКЛЮЧИТЬ «Я НЕ РОБОТ» В ОКНЕ БРАУЗЕРА
Зачастую многие пользователи компьютеров сталкиваются с ситуацией, когда при попытке найти в интернете какую-либо информацию в окне браузера вместо результатов поиска наблюдают картину, предлагающую подтвердить, что они не робот. И для дальнейшего серфинга в интернете несчастным пользователям приходится набирать капчу или пристально вглядываться в размытые картинки, в общем, терять время, чтобы доказать что они не роботы, а просто люди, которым захотелось зайти в интернет. В этой статье я предлагаю разобраться, почему это происходит и как бороться с этой проблемой.
Для тех, кому привычнее смотреть и слушать, чем читать, эта статья размещена на YouTube по этому адресу.
Почему так происходит?
Для начала разберемся, почему это происходит. Во-первых, подобная проблема происходит по причине того, что некоторые поисковые системы взяли на себя ответственность контролировать «поведение» пользователей в интернете. Обычно это делается с целью предотвращения применения специализированных программ, имитирующих действия простых пользователей интернета, посещающих различные сайты.
Во-вторых, подобная ситуация может возникать, когда пользователи интернета чрезмерно часто пользуются услугами различных анонимайзеров, VPN клиентов, а также используют другие уловки, позволяющие скрыть информацию о пользователе интернета или заменить ее на другую (реальную или виртуальную).
В каких браузерах происходит?
Это может происходить в любом браузере, который использует поисковые системы «Google» или «Yandex». Причем, в этом вопросе большую «зловредность» проявляет поисковая система «Google». На Рис.1 представлен внешний вид «проявления недоверия» к пользователю от поисковой системы «Google». На Рис.2 аналогичная ситуация с поисковой системой «Yandex».
На Рис.2 (см.1 Рис.2) показан пример капчи идентификации пользователя интернета в поисковой системе «Yandex». На Рис.3 показан пример идентификации в поисковой системе «Google».
Для борьбы с подобной ситуацией различные пользователи применяют различные способы. Кто-то упорно всматривается в предлагаемый текст или картинку, набирает этот текст или кликает на «правильные» изображения, кто-то борется с этой бедой с помощью специализированных программ, а кто-то просто плюет на эту ситуацию и прекращает попытки найти ответ в интернете на интересующий его вопрос.
А ведь решение данной проблемы предельно просто (по крайней мере, в настоящий момент).
Способы обойти проблему « Я не робот» при поиске информации в интернете
Во-первых, сократите до необходимого минимума применение различных анонимайзеров, VPN клиентов и т.п.
Во-вторых, как отмечалось выше, эта проблема не зависит от применяемого браузера, а зависит только от поисковой системы. Из этого следует – просто перейдите на другую поисковую систему. На настоящий момент самыми надежными и не заангажированными в этом вопросе являются поисковые системы «DucDucGo» «Yahoo» и «Bing». Есть и другие поисковики, которые, в порыве блокировки поискового спама (ручного и машинного), пока что не пытаются издеваться над пользователями интернета, которые по какой-то причине «слишком усиленно» маскируются. Если вы не хотите менять настройки поисковых систем и браузеров на своем компьютере, когда-то выбранные вами, просто установите на панель закладок ваших любимых браузеров ссылки на вышеуказанные поисковые системы. А когда «Google» или «Yandex» потребуют от вас доказательств, что вы не робот, просто откройте любую из этих ссылок и в строке поиска вновь введите свой поисковый запрос.
Я не даю прямые ссылки на указанные поисковые системы, т.к. они (ссылки) периодически могут меняться, а уследить за изменениями довольно сложно, тем более вспомнить, в какой статье и в каком месте эта ссылка применялась. Вы всегда сможете найти эти ссылки в интернете.
В-третьих, если у вас все же есть острая необходимость применения во время поиска в интернете поисковых систем «Google» или «Yandex» (к примеру, вас заблокировали на каком-то сайте), то при поиске используйте не поисковую фразу, а конкретный URL-адрес. «Google», в отличии от «Yandex», это очень любит.
Ну, и в завершение, как я уже говорил выше и в статье «ПРИМЕНЕНИЕ АНОНИМАЙЗЕРОВ И ПОЧЕМУ НЕ СТОИТ ПОЛЬЗОВАТЬСЯ ИХ УСЛУГАМИ», не следует чрезмерно, без всякой надобности пользоваться услугами анонимайзеров, VPN клиентов и т.п. и слишком часто прятаться в интернете. Во-первых, это легко вычисляется. Во-вторых, несмотря на то, что распространители услуг «анонимного серфинга» хором кричат, что их услуги абсолютно безопасны, это далеко не так. Кто может быть уверен в том, что, устанавливая на свой компьютер VPN клиент, вы не ставите вместе с ним и какой-нибудь троян? Кто может быть уверен на 100%, что на серверах анонимайзеров не ведется журнал учета ваших действий через их сервер? И вообще, как вы проверяли надежность компаний, предоставляющих возможность анонимного серфинга?
Существуют и другие способы отключения системы идентификации «Я не робот». Я предложил один из них и, на мой взгляд, самый простой. Не знаю, как долго он будет работать, т.к. в последнее время большинство поисковых систем слишком полюбили «держать руку на пульсе» (точнее на горле) своих пользователей и заставляют их постоянно регистрироваться и выдавать им свою конфиденциальную информацию.
«Я не робот»: история Яндекса о том, как победить ботов, а не людей
Никто не любит капчу. Угадай слово по плохой картинке, собери пазл, отличи светофор от гидранта, сложи два числа и так далее. Формы бывают разные, но суть всегда одна: мы тратим своё время и нервы.
Чуть больше года назад моя команда взялась за модернизацию старой капчи Яндекса. Обычно в таких задачах стремятся повысить качество и полноту отсева ботов, оставив человеку шанс прорваться через капчу. Но мы зашли с другой стороны: решили сделать капчу более дружелюбной к людям, не ухудшив при этом защиту от ботов. Казалось бы, наивный подход. Но у нас получилось.
Сегодня я расскажу об этом подробнее. Вы узнаете, как мы отказались от распознавания текста и перешли к его генерации. Покажу примеры дружелюбной капчи. Расскажу о необычном опыте применения капчи в образовании. А ещё покажу текущий вариант капчи без капчи и немного поразмышляю о будущем.
Несколько слов о том, зачем нужна капча. Уверен, это и так не секрет, но историю всё же стоит начать с основ, чтобы быть на одной волне.
Капча — это инструмент, который помогает сервису понять, обратился к нему человек или робот. Это полезно, потому что роботы создают нагрузку или даже занимаются откровенным вредительством. При этом нужно показывать капчу не всем, а только тем, чьи запросы похожи на автоматические. Для этого надо проанализировать запрос. Анализ — это уже давно не просто подсчёт числа заходов с конкретного IP. Факторов для анализа намного больше, чем один. С другой стороны — сервис с нагрузкой в сотни тысяч RPS и с жёстким требованием к скорости ответа пользователю. Если снизить скорость ответа, то пострадают пользователи. Если снизить полноту выявления ботов, то в итоге опять же пострадают пользователи. Значит, нужно искать баланс между этими крайностями. И получается, всегда будут люди, которым покажут капчу.
Первые шаги
Год назад наши пользователи видели примерно такие задания:
Два слова. Одно мы знаем. Другое хотим узнать. Вряд ли я открою большой секрет, если расскажу, что капчу часто применяют для обучения компьютерного зрения. Раньше так было и у нас.
В целом ничего жуткого, да? Но могу и жути нагнать. Вот примеры более сложных (но крайне редких) вариантов:
Мы, конечно, такое вычищали. Использовали для этого как классификаторы неоднозначно читаемых картинок, так и данные о поведении пользователей (если человек даже не пытается ввести текст, то это плохой сигнал). Но и после таких изменений людям было очень сложно. Можно сказать, что старая капча отлично экономила ресурсы: её не могли пройти ни боты, ни люди. Только 35% реальных пользователей справлялись с первой попытки. Очень страшное число. Нужно было что-то менять.
Начали с анализа наиболее частых ошибок. В топе оказались знаки препинания, верхний и нижний регистр букв, лишние пробелы. Посчитали, как у ботов с этими проблемами. Оказалось, что можно безболезненно отказаться от их учёта при проверке результата. Эти элементарные, быстрые решения принесли нам с ходу +15%. Но дальше простые идеи закончились. Нужно было подойти к задачке более глобально.
Свои картинки с текстом
Поговорим о картинках. Так как их мы не генерировали, а вырезали из готовых, иногда там встречались очень необычные тексты. Их вы уже видели выше: это и перевёрнутые штрихкоды, и логарифмы. Их можно фильтровать с переменным успехом, но гибкости в работе с ними нет. Нельзя оперативно управлять сложностью, контролировать допустимый словарный запас, выбирать язык для разных стран. Если хочешь полностью контролировать качество капчи, то выход только один — генерировать картинки самостоятельно. Так мы и поступили.
Мы хотели создать капчу, которая будет существенно легче читаться людьми, но не ботами. На входе у нас есть какой-то текст и какой-то фон. Осталось понять, что нужно с ними сделать, чтобы добиться желаемого.
Наиболее эффектно, пожалуй, выглядит способ точечно искажать исходную картинку так, чтобы машина видела в ней совершенно не то, что видит человек.
Лёгкий шум превратил горы в собаку и рыбку в краба. Источник: https://arxiv.org/pdf/1710.06081v2.pdf
Но такой подход крайне чувствителен к изменениям алгоритмов распознавания на стороне роботов. Пришлось бы мониторить их особенно тщательно и слишком часто адаптироваться. Поэтому мы подошли более консервативно.
Задачу распознавания текста нейросетями сейчас решают хорошо, причём уже далеко не только лидеры индустрии. Но трудные задачки по-прежнему встречаются. Наиболее сложные датасеты с распознаванием слов на сегодняшний день представляют собой сильно искривлённые тексты (irregular text recognition).
Это то, с чем человек справляется относительно просто. Но не робот. Этот подход мы применили и у себя. Пример такой капчи:
Выглядит проще, чем раньше? Наши пользователи тоже так считают: эту капчу легко преодолевают уже 85% пользователей. А вот ребятам, которые учатся обходить нашу капчу, работы прибавилось.
Скриншот с одного из «секретных» форумов об автоматизации
Конечно, со временем к ней адаптировались, но масштабы проблемы в итоге не больше, чем у старой капчи. При этом людям стало существенно проще.
Полезная и добрая капча
Успех с генерацией собственных картинок воодушевил нас. Мы осознали, что капче не обязательно быть исключительным злом в глазах пользователей. Она может быть такой, какой мы захотим её сделать. Например, полезной для людей.
Каждый октябрь в России отмечают День учителя. Мы решили отпраздновать его по-своему и с пользой. Собрали данные о том, в каких словах пользователи чаще всего делают ошибки. (Яндекс по понятным причинам неплохо в этом разбирается.) На базе этого словаря сгенерировали капчу, отметив те буквы, в которых люди ошибаются. Выкатили на огромную аудиторию. Ботам это ничем не помогло, а вот людям (хочется верить!) пользу принесло.
Другой пример работы с капчей, чуть ближе к концу 2020 года. Хотелось немного поднять пользователям настроение. Придумали использовать для генерации капчи не какие попало слова и фразы, а только те, что несут положительный эмоциональный заряд. Проще говоря, такие слова, которые как минимум не портят настроение ещё больше, а в идеале улучшают его.
Собрали данные с помощью толокеров. Сгенерировали. Получили капчу, которая содержала фразы «Приятных эмоций», «Вам всё по плечу», «Продуктивного дня» и подобные.
В общем, идей для работы с капчей много. Но нельзя забывать самую главную: лучшая капча — это та, которой нет.
Капча без капчи
Вернёмся в самое начало нашей истории. Там я рассказывал о том, что капчу предлагают только тем пользователям, чьи запросы в результате быстрого анализа показались нам подозрительными. Быстрый анализ отрабатывает примерно за одну (!) миллисекунду. Делать это дольше без вреда для высоконагруженного сервиса и миллионов пользователей нельзя. Это значит, что нужно использовать быстрые алгоритмы, а они не всегда самые точные. Из-за этого люди видят капчу. Как можно обойти это узкое место? Использовать промежуточный шаг!
Если быстрый анализ вынес вердикт о подозрительности запроса, то мы можем перенаправить его на страницу с капчей. Но саму капчу пока что не показывать. Потому что в этот момент у нас появляется время на второй, более глубокий и сложный анализ. Мы можем потратить намного больше, чем одна миллисекунда, а значит, спасти существенное количество наших пользователей от необходимости преодолевать пусть и не страшную, но всё же капчу.
Теперь это работает так. Если человеку не повезло попасть на страницу с капчей, то вместо капчи он видит предложение поставить галочку и подтвердить, что он не робот.
Пока пользователь ставит галочку, мы проводим дополнительный анализ с использованием более сложной ML-модели. Если всё хорошо, то возвращаем на сервис. Если «подозрительность» сохраняется, то показываем текстовую капчу.
И ещё кое-что важное. Переход от бинарных вердиктов (бот — не бот) на первом этапе к вероятностным («робот на N%») на втором позволяет нам управлять сложностью капчи! Если на втором этапе мы по-прежнему считаем запрос подозрительным, но степень уверенности в этом не такая высокая, то показываем простейшую капчу. А вот если мы уверены, что перед нами робот, то можем сложность и приподнять. Простое, но эффективное решение.
Несколько слов о значимости этого решения для людей. Выше мы радовались тому, что 85% (а не 35%, как было раньше) пользователей справляются с новой текстовой капчей с первой попытки. Но с галочкой «Я не робот» ситуация изменилась радикально: теперь более половины пользователей возвращаются в сервис вообще без необходимости разгадывать капчу! Вот такая вот капча без капчи.
За последний год мы прошли длинный путь, но идей на будущее от этого меньше не стало. Мы уже работаем над тем, чтобы получать более точные вердикты в реальном времени и без перенаправления на промежуточные страницы. И уже есть первые успехи. Один частный пример: теперь в Safari в режиме Инкогнито встретиться даже с галочкой «Я не робот» вероятность примерно в десять раз ниже, чем раньше. Кроме того, хотим пробовать новые, более добрые форматы капчи для тех случаев, когда без неё никак.
Формы капчи могут быть разные, но главное в том, чтобы относиться к людям по-человечески и уважать их время.