Комментарии 123
Уважаемый Яндекс, я вот не робот, честное пионерское. Но капча ваша уже нереально задрала. Почему она вылезает, даже если пользователь залогинен, если из этой же сети стучится к вам ваша же колонка с Алисой? Всего-то стоило настроить IPv6 от HE. И даже белый статический IPv4 не спасает, хотя в tcpdump видно обмен с вашими сервисами, используя оба протокола. Раз вы презентуете себя как компания, славящаяся ML, то может стоит при обучении динамически учитывать еще и подсети своих пользователей, чтобы не заставлять их страдать?
P.S. Одна ваша капча однажды очень повеселила, попросив ввести фразу Avoid Smiling, напомнив что да, не время нынче улыбаться:)
Алексей, спасибо за обратную связь. Попробую сделать как вы сказали.
И теперь вам все ботоводы массово начнут слать обратную связь через ту кнопку, дописывая приветы с Хабра, в надежде что ваша модель пока обучается посчитает что это люди =]
То, что боты могут логиниться — ок.
Но почему каждый раз, когда я в инкогнито залогиненый (с рабочего компа) под аккаунтом с активным яндекс такси и привязанной картой с реальными оплатами, он всё равно спрашивает капчу.
Неужели для капчи не происходит проверка на акк-пустышку и реальный "человеческий"
поэтому полностью исключить ложноположительные срабатывания сложноМне кажется, это особенность Яндекса относиться с недоверием ко всем кто использует IPv6 от HE, даже Google нормально его воспринимает. У самого тоже тоннель от HE и когда в приватном режиме что то пытаюсь найти через Яндекс — всегда вылазит капча.
Обычный европейский проводной провайдер, никаких VPN и средств анонимизации не использовал.
КРАЙНЕ НЕуважаемый яндекс! Я антибота вижу по несколько раз в день. Пробовал и через ВПН-ы, и с белым IP, и через NAT. И через chrome, и через Firefox. И windowd 7-2019, и Linux. Ваш ужасный яндекс-браузер, по очевидным причинам, не использую. В службу техподдержки обращался раз 10, проводили какие то диагностики, потом шаблонная отписка. Вы боретесь с ботами, у вас такая проблема? А как же работают все остальные компании, не задалбывая пользователей? Вы перешли все разумные границы. Ваши сервисы из года в год все хуже. Вроде бы высокотехнологичная ИТ-компания, один из лидеров рынка, а качество продукции "на троечку". Настраивайте нейросеть для отличения людей. Вы можете отслеживать сотни параметров. Составляется "портрет" пользователя на основе действий мышью, по скорости перемещения курсора, про логику перемещений по страницам и т.д. Такое ощущение, что слушаете телефон. Только проговорили голосом про покупку машины - через 5 минут вылазит куча рекламы по этой конкретной тачке. Я привык к вашему поиску, ломать себя тяжело, но эта капча настолько задолбала, что уже готов переходить полностью на гугловый поиск.
Ответ техподдержки Яндекса от 16.07.2020:
Евгений, насколько я вижу, ваш IP-адрес относится к сети Hurricane Electric. Увы, в этой сети очень много роботов, поэтому мы вынуждены накладывать дополнительные ограничения для пользователей с такими IP-адресами.
Рекомендую отказаться от использования Hurricane Electric на сервисах Яндекса. Однако если такой возможности нет, то:
1. Нужно включить куки и хранить постоянно, их отсутствие воспринимается как признак робота;
2. Не нужно использовать язык запросов при использовании поиска: yandex.ru/support/search/query-language/search-operators.html
я прямо даже и не знаю что такого нематерного сказать на это предложение…
И вот этот смысл ужасает. Я бы его перевернул, утрировал и посыпал сарказмом во фразу:
Яндекс — не место для профессионалов.
Вот примерно об этом же рассказывает redneko в соседних комментариях.
К сожалению, у Гугла подобная же логика. Стоит мне начать искать что-то специфическое, а гугл и так, и сяк не может дать ожидаемый ответ, то через 4-5 запросов я начинаю получать капчи. А я человек, честно-честно. Хотя...
Вот собственно о том и речь, что весь ответ техподдержки можно свести к классическому "нет человека — нет проблемы" и проще кинуть в бан всё адресное пространство ураганных электриков, чем немного изменить логику работы. Имхо, в мире розовых пони алгоритм мог бы быть чуть умнее — при подключении пользователя по IPv6 подсовывать скачивание пикселя с сервера, имеющего только v4 связность, запоминая связку обоих адресов (v4 и /64 или /48 адреса сети для v6), учитывая это как один из параметров антиспама и динамически вычислять скоринг, ориентируясь в том числе и на поведение остальных пользователей из этих сетей.

При этом я действительно могу искать разноплановую информацию: в одном окне датащит на детальку а в соседнем где купить сезаль. Я не бот, честно-честно!
Ещё веселее дела обстоят в гугле. Это когда ты сначала проходишь капчу, но в итоге тебя все равно не пускают под предлогом того, что с вашего IP делается слишком много автоматических запросов.
Было такое дело, давным-давно, когда сидел на местечковом говнопровайдере с DOCSIS, у которого за NAT сидела, наверное, половина города на одном IP. С тех пор у гугла таких финтов ушами не наблюдал ни разу, и к IPv6 у них вопросов нет.
Встречал такое имея белый статический ipv4-адрес от проводного Билайна в Москве. Может быть, потому что последний октет моего адреса был 255?
Длилось это годами, при этом ничего странного в/из моей сети, скорее всего, не происходило (пара скучных линуксовых машин). Закончилось, когда адрес я случайно сменил.
На wordstat новую капчу еще не прикрутили? Хотелось потестировать.
И кстати, ML это громкое название для процесса сбора большой бд «нормальных» юзеров и сравнение отклонений от нормы или там есть чет такое эдакое?
С wordstat уже работаем и там скоро будет лучше.
По ML, там классическое машинное обучение и задача бинарной классификации + немного нашей специфики.
Вы, кстати, как относитесь к тому, чтобы кто-то с хабра разобрал вашу систему фингерпринта и пуленепробиваемость вашей капчи? В суд подавать будете? ))

Вам кто больше нравится: Олененок, Конь, Белка, Бобер или Сурикат?
P.S чтобы понять о чем я не поленитесь откройте выделенные сайты.
не поленитесь откройте выделенные сайты.
Хорошая попытка, но… )
Олененок, Конь, Белка, Бобер или Сурикат
И ни одной хрюши! Это ужасно :(
Не отказались ли вы от идеи сообщать при некоторых условиях пользователю, что капча неверна при том, что она верна?
То есть проанализировать как ошибаются обычно боты, как люди. И неверный ответ типичный для человека считать за верный.
— символы разного цвета и далеко друг от друга
— легко определяющиеся грани (контрастный однородный фон)
— текст на одном уровне, без поворотов, одним шрифтом
— линии отдельным от цифр цветом
— картинки в svg, скорее всего можно упростить задачу еще сильнее поправив некоторые элементы
Хуже только передача решения через url к картинке (бывает и такое)
Но любая капча на распознавании картинок это попытка выдержать баланс между:
- По дефолту не дать роботам совершать действия
- Не заставлять клиентов оставлять свое зрение и нервы при попытке распарсить картинку глазами.
В свое время мы использовали как раз старую капчу от Яндекса и столкнулись с жалобами от клиентов, после чего я предложил и внедрил свое решение. Мое личное мнение такое: «Удобства для людей приоритетнее кейсов когда может пролезть какой-то специально обученный бот, которого можно отследить отдельными метриками».
Хуже — только отдавать зелёную надпись на жёлтом фоне. Ни я, ни мой коллега такую надпись банально не видим — приходится звать девочек из соседнего отдела, чтобы они прочитали.
*не помню, на каком ресурсе натыкаемся на эту дичь, но заходим туда где-то раз в полгода.
Сильно :)
Петр Первый прорубил окно в…
Сила действия равна силе…
Жи и Ши пиши через…
А и Б сидели на трубе, А упала, Б пропала, кто остался на трубе?
Зимой и летом одним цветом — …
Как вы думаете, собирать общеобразовательные фразы из школьной и детсадовской программы и предлагать пользователю — это хорошая идея?
Сложность — научить валидатор принимать ответы в синонимах и разных языковых формах, возможно с опечатками.
Недостаток — роботы могут быстро научиться (тяжело поддерживать и обновлять свежую базу вопросов).
Автоподбиратель заданий через обучение на распространенных текстах в сети тоже плохая идея — разгадыватели капч будут искать ответы там же.
Как вы думаете, собирать общеобразовательные фразы из школьной и детсадовской программы и предлагать пользователю — это хорошая идея?
разве вы сами не ответили на свой вопрос?
Акция в честь дня учителя заслуживает уважения.
А вот "всё получится" в монохромном стиле напоминает, скорее, картинки "всё тлен" :)
Так может я и вправду робот?
А что тут думать? Это как бы ни для кого не секрет. Берётся 50% картинок/слов, которые сервису известны (и их нужно ввести правильно), и 50% тех, которые неизвестны, но хотелось бы узнать. Пользователь заранее не знает, какие из них известны сервису, и стремится ввести все правильно. А машинное обучение тем временем узнаёт, как выглядят пожарные гидранты. Кстати, вы давно видели пожарный гидрант в реальном мире?
Но ведь это было ясно с самого начала.
Лет 15 назад я сам себе написал генерилку капчи для гостевой книги (можно понажимать F5), и пользуюсь ей до сих пор. И вот что я понял: никакого смысла сильно усложнять картинку нет. Если нужно, то спам засунут на ресурс просто люди, вручную за сущие копейки. И никакая капча этому противостоять не сможет. Решение должно быть только комплексное, с привлечением всяких stopforumspam.com и различной внутрисайтовой эвристики.
На одном своём сайте ваял я как-то раз ну не прямо капчу, но борьбу с ботами, которые любят отправлять формы на серверы.
Поля формы были открыты не сразу все, а открывались последовательно по мере набора текстов в полях:
Сперва открыто первое поле.
Начало набора текста в первом поле приводит к открытию второго поля.
Ввод во втором поле открывает третье поле и так далее.
Во время заполнения последнего поля открывается кнопка отправки формы на сервер — только ею в моей задаче разрешено отправлять форму.
И вот если из "браузера" ко мне на сервер приходит форма с заполненными полями, которые для набора не открывались, то я эту форму игнорирую, т.к. неоткрытые поля мог заполнить и отправить только бот. :-)
И никто не вспомнил про гугл?
А вообще я думал что Гугл пока показывает галку, то от мышку трекает, то от ещё что, что должно быть сложнее подделать ботом.
Я помню, что Касперский фильтровал ввод так, что в некоторые поля нельзя было ввести с клавиатуры или тыкнуть мышью если ты на удалёнке. При этом, на экране нет никаких окон или баннеров и мышка двигается. Но не вводится, только с реальных локальных можно ввести. Поля, относящиеся к безопасности: логины, пароли и прочее. Но для этого у Касперского есть драйвера в системе, чего у браузера естественно нет. Так что браузер не сможет определить, если бот будет двигать курсором имитируя действия мышкой вместо посылания сообщения прямо элементу с фокусом.
Пару месяцев назад этим увлекался алиэкспресс, но видимо их тоже вынудили отказаться от данной практики.
Возникает закономерный вопрос.
Почему я вижу капчу только на яндексе? Или может быть гугл делает что то не так? )
Закономерное решение — просто не пользоваться сервисами, где мне предлагают пройти капчу.
В войне с роботами побеждают людей. Ага.
У меня к вам есть один очень странный вопрос: Вы специально отсеиваете капчами пользователей (не роботов), у которых стоит англоязычная версия ОСи и, соответственно, нет русской раскладки клавиатуры? Я вот был очень удивлен пытаясь как-то зайти к вам с неместного компьютера и просьбу ввести для капчи русское слово «аккумулятор». Может давайте сразу будем просить вводить китайские иероглифы или какие-нибудь символы тувимского алфавита? Ну чтобы уже наверняка только избранные могли к вам попасть?
Или же это все таки сознательный шаг и вы строите свой сервис с лозунгами «Русский посиковик — только для русскоязычных пользователей! Чемодан — вокзал — Google!»

Надо буквы по дуге (как у вас), но размер каждой буквы разный и базовая линия дуги для каждой буквы тоже смещенная toshchakov
Вряд ли я открою большой секрет, если расскажу, что капчу часто применяют для обучения компьютерного зрения. В целом ничего жуткого, да?
Нет, это бесплатный труд на благо коммерческой компании.
Мы осознали, что капче не обязательно быть исключительным злом в глазах пользователей. Она может быть такой, какой мы захотим её сделать. Например, полезной для людей.
Да-да, мы помним, как reCaptcha еще долго нагло врала про душеполезную оцифровку книг, после покупкии ее Гуглем, когда там уже давно предлагалось распознавать образы для гуглокарт. Яндекс не такой, Яндекс за грамотность искренне переживает…
У вас смысл фразы изменился, потому что объединили фрагменты двух разных абзацев.
В остальном чистая правда. В нашей новой капче картинки генерируются из уже известного текста. Помощь в его распознавании нам не требуется.
Ловлю, вернее упрекаю, я Вас в другом, а именно: в попытке подать сугубо коммерческую проблему как эдакое scherzo, повод чуть ли не умилиться: ах, %sayname%, ты думаешь о нас! Не надо так, это бесит еще больше, чем сама капча ;)
Кстати, а почему Вы не пошли по пути динамического формирования кода интерактивных элементов, который можно было бы использовать в качестве «невидимой» пользователю капчи?
Кстати, а почему Вы не пошли по пути динамического формирования кода интерактивных элементов, который можно было бы использовать в качестве «невидимой» пользователю капчи?
Невидимая капча — это примерно то, что и происходит на новой странице с «Я не робот». В идеале, конечно, делать такую проверку незаметно на сервисе, но сделать это в лоб не получится, т.к. логика достаточно тяжелая и «притормозит» работу самого сервиса. Но найти тут компромисс и по максимуму перенести проверку в фон — это то, что мы хотим дальше делать.
Эта механика имеет смысл против ботов, работающих "по площадям". Если же бот пишется под конкретный сайт, то всё это добро обходится на раз, просто подсмотрев в консоли браузера отправляемые запросы.
Да, этот подход усложняет написание бота, но не критично, на мой взгляд.
банально переделает бота на Selenium/Webdriver,
Только вот работа через Selenium/WebDriver вполне себе палится, и значит разработчику нужно будет написать аналоги этих библиотек, что на порядок усложняет процесс написания бота.
Задумался я над кнопкой "Я не робот". Я-то надеялся, что там собираются какие-то поведенческие факторы, типа трек курсора мыши, или еще что-то… Может стоит попробовать для глубокой проверки просто показывать крутилку, которая сама исчезнет, а не требовать телодвижений пользователя и угнетать его сравнением с роботом?
Также, читая комментарии пользователей конкретного провайдера выше, я задумался, может вам стоит улучшить ваш классификатор ip2isp? Ну, дополнить его тем же машинным обучением, например…
2. Мы думали над вариантом «крутилки» вместо галочки. Галочка лучше воспринимается пользователями, потому что сохраняет контроль над ситуацией. Когда что-то само по себе крутится и перезагружается — это пугает людей.
3. ip не является единственным сигналом для принятия решения, сейчас некоторые парсеры без проблем используют мобильные прокси.
Выше были предложения, чем заменить «Я не робот», моя версия, это кнопка типа: «Пусти меня [дальше]». «Дай пройти», «Не мешай» — получается диалог.
Когда я нажимаю «я не робот», потом вижу капчу — это как ответ: «не верю», чувствую конфликт. Когда я нажимаю «пусти меня дальше», а мне капча — я воспринимаю это как «давай, только капчу разгадай и в путь», — мне это нравится больше (я только о своем восприятии, я не все люди, за всех сказать не могу).
Поэтому пользоваться яндексом из-под VPN, в режиме инкогнито, чистыми браузерами и т.д. — невозможно. Ведь в таком режиме вы не увидите мою историю поиска или регион, или ещё что-нибудь ценное из кук не вытащите. И капча после каждого запроса как бы говорит пользователю — «ну чего ты мучаешься, ты же знаешь, что сделать — отключи VPN, выйди из режима инкогнито, дай нам все свои данные».
Это причина, по которой я всё реже пользуюсь яндексом (с тех пор, как купил постоянный VPN — так практически и не пользуюсь).
Понятно, что вы не признаетесь в этом, я просто пишу, чтобы сказать — да, я это вижу, и все это видят.
теперь в Safari в режиме Инкогнито встретиться даже с галочкой «Я не робот» вероятность примерно в десять раз ниже, чем раньше.
Второе: дайте случайную капчу в чекбоксе: «я не робот» или «я робот» или «я не верблюд» и т.д. — На это быстрее ответить.
Если сработает, то спросите меня личным сообщением — скажу, куда выслать вознаграждение :)
Успехов в нелегкой борьбе.
Я не предлагаю пропускать сам шаг, просто убрать необходимость совершать лишние телодвижения.
Вас много, а я одна! (с)
Аналитические роботы Яндекса они такие, им подумать нужно, пока человек мышкой двигает.
Нет там никакой аналитики.
Отключил мышку. Прогрузился до капчи.
Запустил document.getElementsByClassName('CheckboxCaptcha-Button')[0].click(); — капча сработала.
Не удивлюсь, если подобное будет срабатывать например на что нть типа CefSharp, откуда потом можно брать куки для продолжения работы ботом.
роботы создают нагрузку или даже занимаются откровенным вредительством
Защита от роботов конечно же нужна, но на сколько она эффективна в плане борьбы с нагрузкой на сервис? — Если запрос отправлен/принят, то какая-то работа в любом случае будет выполнена. Капча не спасает от нагрузки на сервер, а лишь закрывает доступ к контенту для роботов, тем самым говоря программисту «не знание законов, не освобождает от ответственности» (закон об авторском праве), ну и конечно же ограждает от не/намеренного вредительства.
Казалось бы — здоров! Однако, в этом есть и минус: Если все сайты будут использовать капчу, то тот же поисковый робот Яндек не сможет получать доступ к сайтам, а значит поиск в интернете станет невозможным и для других роботов, а в конечном счёте и для пользователей.
капчу предлагают только тем пользователям, чьи запросы в результате быстрого анализа показались нам подозрительными
Ага, щас.
У нас выделенный статический IP. И у всего офиса после перезапуска я-браузера вылазит капча. Писал в поддержку яндекса. Ответили: ваша подсеть используется роботами. И что мне делать? В нашем городе небольшой выбор провайдеров. Мой мелкий провайдер скорее всего арендует канал у крупного прова. Мне проще поисковик сменить.






Это так мило.
«Я не робот»: история Яндекса о том, как победить ботов, а не людей