что такое рекапча recaptcha
Как работает reCAPTCHA?
В обсуждении моего недавнего перевода замечательнейшей статьи про CAPTCHA несколько раз появлялись вопросы насчет reCAPTCHA, а именно как же эта система работает. Под катом я в общих чертах объясню суть reCAPTCHA, наглядно покажу как она работает и каким же образом она цифрует книжки.
Расскажу я все достаточно кратко, но зато понятно. Приведенные иллюстрации были взяты с официального сайта reCAPTCHA
Stop spam
По своей сущности, reCAPTCHA выполняет ту же функцию, которую выполняют другие капчи. Суть проста, вводим предложенный текст и тем самым доказываем, что мы не робот. Главным отличием от других систем является то, что reCAPTCHA не только защищает сайт от спамеров, но еще и выполняет другую, достаточно интересную функцию.
Read books
Как вы наверняка заметили, reCAPTCHA предлагает ввести два слова, что практически не встречается у других капч. Суть в том, что пользователь при вводе этих слов не только доказывает, что он человек, но еще и помогает распознавать старые книги и газеты.
Принцип работы прост:
Допустим, есть энная книга, которая сохранилась в малом количестве экземпляров, при этом все они в плохом состоянии. Один экземпляр в отсканированном виде попал в руки Google (владелец reCAPTCHA). Что с ним делать? Правильно, цифровать (и дело тут не только в сохранении наследия, но об этом позже). Как цифровать? Цифровать, используя системы распознавания символов (OCR). Но, как многим известно, эти системы очень часто грешат многочисленными ошибками в выданном результате. Вручную перебирать весь текст на предмет ошибок — слишком дорогое удовольствие. И вот, на помощь приходит reCAPTCHA. Одно слово в изображении распозналось системой OCR правильно, а вот второе никак нет. Второе слово — за пользователем, именно то, что он введет будет использовано в качестве замены ошибочному варианту, предложенным OCR. Наверняка сейчас некоторые усмехнутся, да, я знаю про то, что фактически вместо второго слова можно ввести что угодно. Но каждое непонятное для OCR слово reCAPTCHA показывает пользователям сотни, а то и тысячи раз (при цифре в 200 миллионов генераций в день это очень мало), и в конечном итоге правильным считается тот вариант, который пользователи вводили чаще всего.
От скучного текста перейдем к иллюстрациям:
Вот так выглядит отсканированный текст. Качество, можно сказать, на высоте, но давайте же взглянем на результат работы OCR:
Красным выделены ошибки. Не правда ли их слишком много? А теперь посмотрим, что же будет результатом работы reCAPTCHA:
Не надо быть семи пядей во лбу, что бы увидеть разницу между OCR и дуэтом OCR + reCAPTCHA. Оцифровка получилась 100% безошибочной.
Разумеется, это что-то вроде идеальной ситуации, где все складывается так, как задумывалось создателями reCAPTCHA. Но наверняка многие из вас сталкивались с абсолютно нечитаемыми словами, предлагаемыми для ввода. Проблема в том, что некоторые книги \ газеты сохранились настолько плохо, что порой и вручную они распознаются отвратительно. Вот пример:
Изображение отвратительного качества. Посмотрим, что тут сможет сделать OCR…
… а ничего. Ошибки не подсвечены потому, что все это — одна большая ошибка.
Зато силами reCAPTCHA результат становится вполне себе читаемым, хоть и не безошибочным.
Именно таким образом пользователи помогают оцифровывать книжки средствами reCAPTCHA. По-моему, это прекрасно.
Я ничего не понял!
Скрипты для распознавания
Бытует ошибочное мнение, что reCAPTCHA невозможно взломать (речь идет об автоматическом распознавании приведенного текста, без участия человека). Однако, судя по тенденциям, это не так. С течением времени reCAPTCHA понаделала различных подводных камней для систем распознавания. Среди них искривление текста, пересечение его полосами, так же недавно была введена фича, благодаря которой проверочное (известное системе) слово выглядит сдвоенным. Все это указывает на то, что reCAPTCHA все таки испытывает некоторые трудности с защитой.
Никто и не подозревал
Есть люди, которые критикуют reCAPTCHA, и с этической точки зрения, критикуют они не зря. Дело в том, что за распознанный текст Google так или иначе получает деньги. А сами тексты добываются вполне себе бесплатно, силами пользователей. То есть, тут имеет место бесплатный труд. Лично меня это не волнует, к тому же, никто не заставляет пользователей вводить reCAPTCHA, и более того, никто не заставляет веб-мастеров устанавливать ее на свои сайты 🙂
Как это работает: CAPTCHA
Сколько лет существует Хабр — столько лет на нём регулярно появляются посты про очередную капчу — будь то скрипт генерации картинки, новая идея капчи с котиками и тому подобное. Самый свежий пример того, что человек не совсем понимает — как же всё таки должна работать капча (см. текст поста и последние комментарии), но при этом делится своими заблуждениями с сообществом. Складывается ощущение, что капча — это такая terra incognita для большинства разработчиков — как для тех, кто просто прикручивает её к очередной форме в надежде на то, что она будет работать «из коробки», так и для тех кто придумывает капчи вроде тех, на которых надо выбрать картинку с котиком из нескольких фото.
Статья содержит полезную информацию для тех, кто использует капчу на своём сервере, вместо того чтобы довериться стороннему сервису вроде reCaptcha.
Captcha
Согласно своему определению, captcha — это автоматизированный публичный тест Тьюринга (тест который может пройти человек, но не компьютер). В статье я буду рассматривать свойтсва капчи на примере самого распространненого её вида — текста на картинке, хотя почти все написанное одинаково применимо к любому виду капчи.
Два главных свойства капчи
Любая капча должна обладать двумя свойствами, без которых она не будет работать:
Устойчивость к распознаванию — свойство, защищающее капчу от распознавания алгоритмом — например системой распознавания текста. Гарантирует то, что человек сможет прочитать текст на картинке, а компьютер нет.
Антипример: стандартная капча форумов phpBB 2.x таким свойством не обладала — из-за относительной простоты распознавания появились скрипты, которые спамили все подряд форумы вынуждая веб-мастеров менять капчу на более стойкую.
Устойчивость к угадыванию — свойство капчи, не позволяющее угадать её значение за небольшое число попыток (менее 1000). Если набор возможных значений капчи невелик, программе не составит труда угадать её подбором вместо распознавания.
Антипример: арифметическая капча вроде «1+2» (перебор чисел от 1 до 20 в скором времени даст результат).
Антипример: выбрать из нескольких картинок ту, на которой изображён котик.
Проверка капчи
Значение для проверки должно храниться на сервере, а не передаваться вместе с картинкой в браузер. Для сопоставления посетителя и правильного значения капчи необходимо использовать некий ключ, который передаётся вместе с капчей (идентификатор сессии, номер капчи и т.п.)
Антипример: если передавать саму капчу и значение для ее проверки (в том числе зашифрованное), то человеку достаточно один раз распознать такую капчу и далее использовать комбинацию «ответ»-«значение для проверки» в своём скрипте (по ссылке в начале поста как раз такой случай)
После проверки, сохраненное значение капчи необходимо удалить. Если не сделать этого, злоумышленник сможет использовать данное значение снова неограниченное число раз. Да, при обновлении страницы с формой обновляется и капча (либо при генерации формы, либо при генерации картинки), вот только скрипт может не загружать форму снова (надо упомянуть, что это не актуально если на сайте используются одноразовые csrf-токены для форм).
Антипример: гипотетическая форма логина, в которой достаточно один раз ввести капчу правильно, и далее подбирать пароль скриптом, избегая перегенерации капчи на сервере.
Пуленепробиваемая капча
Защита от перебора. Если ваша капча устойчива к распознаванию, но не очень устойчива к перебору (например на ней надо прочитать всего 3-4 цифры), желательно ограничить число неправильных ответов «с одного ip» / «для одного логина» / etc. Такие ограничения необходимо проверять ДО проверки самой капчи (то есть даже в случае правильно введенной капчи, при наличии ограничения она не должна считаться пройденной) иначе оно не будет препятствовать перебору.
Защита от DoS. При генерации капчи на своем сервере, надо понимать что это удобный вектор проведения DoS атак (которую, в отличие от DDoS, может устроить любой школьник). Для защиты можно ограничить число генерации капчи для одного ip, кэшированием капч и т.д. Подробнее про это
Защита от распознавания. Если вы выбираете капчу, или вдруг собираетесь написать её сами, желательно понимать какая капча более защищена от распознавания. Существуют готовые универсальные скрипты распознавания капчи, работающие по принципу OCR, а в случае если ваш сайт заинтересует спамеров есть риск, что будут использовать / писать скрипт конкретно под вашу капчу. Последнее правда относится больше к сайтам уровня Яндекс или vk, а вот вариант с защитой от банальных OCR желательно предусмотреть.
Защита от антигейтов. Если говорить формально, то капча как тест Тьюринга не обязана защищать вас от антигейтов, так как в этом случае её будет распознавать человек. С практической же точки зрения, этот вопрос весьма актуален и защищаться как-то надо.
Тут нет и не может быть «золотого стандарта» (ибо в таком случае антигейты внедрят его поддержку), поэтому вы вольны дополнять капчу любыми ухищрениями, чтобы сделать её распознавание через антигейт невозможным. Например:
— нестандартная капча (сбор паззла, поворот изображения, клик по области на фото и т.п.);
— кириллическая капча — самое простое решение, но имеет ряд минусов: подходит только для проектов с русскоязычной аудиторией, есть антигейты с поддержкой кириллицы;
— использование виртуальной клавиатуры рядом с капчей для ввода нестандартных символов или фигур (может быть неудобно пользователям мобильных);
Юзабилити
Не просите ввести капчу, если вы уже убедились, что перед вами человек. Тут однако, надо быть осторожным, чтобы форму нельзя было использовать скриптом неограниченное число раз после однократного ввода капчи человеком.
Пример: форма регистрации. Если я где-то регистрируюсь, и забыл ввести поле «почтовый индекс», но правильно ввёл капчу — не надо показывать мне новую. Потратьте 10 минут на то, чтобы сохранить где-то у себя, что вот эту конкретную форму сейчас пытается заполнить живой человек.
Для облегчения распознавания человеком: не используйте в капче одновременно буквы и цифры, не используйте одновременно прописные и строчные буквы, исключите похожие символы.
Отказ от использования капчи
Лучшая капча — отсутствие капчи. Там где можно отказаться от её использования — это надо сделать. Возможно для этого придется реализовать дополнительные лимиты и проверки, но пользователи скажут вам спасибо.
Но тут надо быть очень осторожным. Например: форма регистрации без капчи, с полем email на который приходит письмо с активацией. Без дополнительных средств защиты такую форму могут завалить «левыми» адресами, и ваш сайт включат в черные списки почтовые службы. В таком случае можно обходиться без капчи, но только если у вас есть другой рубеж защиты, вроде лимита по ip.
Кому то информация в этом топике покажется очевидной, но если бы я не сталкивался с примерами непонимания этих простых принципов в жизни, в том числе у опытных коллег-разработчиков, я бы не стал тратить время на написание этого текста.
Что такое капча – recaptcha, captcha и другие виды, зачем нужна в интернете и как пройти
С понятием «Captcha», ее типами «ReCaptcha» и другими сталкивается практически все пользователи компьютера и интернета.
Чаще всего ее видят обычные пользователи при регистрациях на сайтах, при входе в свои аккаунты на сервисах, при отправке комментариев на блогах или при многократном и частом повторении одинаковых действий, например, лайки, репосты, комментирование.
А потому каждому хорошо бы знать — что такое капча, для чего это чудо применяется в интернете при регистрации и в других случаях, в том числе и для заработка 🙂 как вводить капчу, решать и на какие виды она подразделяется.
А некоторые из нас встречаются с ней не только просто бороздя просторы интернета. Например, имея свой сайт, можно добавить на нем нужный вид капчи для защиты от спама или другой пример — можем сталкиваться с ней при работе в программах и даже можем решать ее за деньги.
Поэтому новичку знать о ней основную информацию очень полезно, (а бывает и нужно!) и сейчас я постараюсь разложить все по этой теме в вашей голове по полочкам 🙂
ЧТО ТАКОЕ КАПЧА И ДЛЯ ЧЕГО НУЖНА?
То есть охраняет ресурсы от автоматических действий на сайтах программами-роботами, например, многократных регистраций, отправок комментариев, добавлений в друзья (если касается соц.сетей) и других.
Если бы не было такого способа защиты на сайтах, то можно себе представить, насколько вольно бы себя чувствовали разработчики всяких ботов, нацеленных на быстрые регистрации тысяч аккаунтов на одном сайте, множественные репосты, лайки в соц.сетях, массовую отправку комментариев, почтовый спам…
В какой-то мере, интернет сейчас превратился бы в помойку из спама, без внедрения такого «щита». Это когда-то более 20 лет назад в сети еще было более-менее спокойно и подобные оборонительные механизмы не требовались.
ВИДЫ КАПЧИ
Как уже упомянул выше, капчи могут быть различных типов, есть попроще, а есть те, которые нам самим сложно сразу решить, что уж там о безмозглых программах говорить 🙂
В некоторых для разгадывания нужно лишь символы повторить с картинки, а где-то решить реальную задачку или пазл, к примеру, собрать, что ботам чаще всего уже не под силу (по крайней мере на данный момент).
Итак, теперь подробнее о видах капч, коих довольно много, причем названия им можно найти разные и постоянно придумываются все новые разновидности, ведь «машины» всё умнеют могут разгадывать сейчас даже весьма сложные задачи!
Поэтому просто разгруппируем их на 3 больших типа, отделив наиболее часто используемые от остальных: captcha, ReCaptcha и другие, например, FunCaptcha.
Что такое captcha
Что такое recaptcha
То есть нам подставляется, как правило, 2 слова из источников, которые мы должны ввести:
Ну а когда рекапчу купила корпорация Google, стали распознавать изображения даже из google карт и аналогичных приложений. Тем самым появился еще один тип рекапчи (версия 2), представляющая собой следующее…
Пример: «отметьте все изображения, где есть автобусы».
Ну и в 2015 году, появилась капча Recaptcha v3 «Я не робот», которая сейчас считается самой простой, удобной и надежной. Нужно только поставить галочку и она либо сразу будет пройдена, либо при подозрениях у системы защиты, нужно будет решить задачу в виде картинок (версия 2).
Другие виды капчи в интернете
Все остальные виды капчи, которые могут представлять из себя в принципе любые задачи, зависящие от фантазии разработчика.
Поэтому некоторые роботам-спамерам обойти крайне сложно, либо вовсе невозможно, ведь пока что еще компьютер не обрел интеллект как у человека 🙂
Вот несколько примеров:
На рисунке №6 видим так называемую фанкапчу (FunCaptcha), где требуется, используя стрелки, повернуть изображение так, чтобы оно выглядело правильно. Не думаю, что сейчас боты способны легко решить такую задачку, тем более что фигурки подставляются разные.
Ну или 1-й пример: выбрать человека с поднятой рукой среди трех вариантов картинок. Пока что не представляю, как программа в данном случае способна определить, во-первых, что требуется сделать, а во-вторых, найти нужную картинку.
ЗАКЛЮЧЕНИЕ
Что такое капча и ее виды, например, ReCaptcha или FunCaptcha, надеюсь объяснил это доходчиво и вы разобрались в вопросе, а если нет, спросите в комментариях, поясню и заодно статью пополню информацией 😊
Всех встречающихся типов скорее уже не перечислить, ведь программисты создают все новые варианты Captcha, стараясь опередить умнеющие с каждым годом компьютерные «мозги», чтобы защитить сайты от ботов и спама.
Но чаще на сайтах используют 1 и 2 тип, т.е. самую простую капчу из слова и всякие варианты рекапчи. А если администратору ресурса видно, что на него пробивается много ботов, спама, то можно поставить другой вид.
На капче, кстати, еще и заработать можно 🙂 или, наоборот, вложить деньги в автоматическое ее разгадывание, когда нужно без проблем работать в программах, выполняющих автоматические регистрации, отправку комментариев и других действия.
На этом все, если по теме заметки остались у вас вопросы, то можете задать их ниже в комментариях, и я вам все растолкую 🙂 Хорошего вам дня и прекрасного настроения! 😉
Сделай репост – выиграй ноутбук!
Каждый месяц 1 числа iBook.pro разыгрывает подарки.
—> LENOVO или HP от 40-50 т.р., 8-16ГБ DDR4, SSD, экран 15.6″, Windows 10
25 комментариев
Автор: Татьяна
Автор: Владимир Белев
Здравствуйте! Эксперимент будет полезным, чтобы просто понять для себя, что это за вариант заработка и стоит ли тратить время. У каждого свои фишки и может получаться по разному.
Автор: Любовь
Владимир, спасибо за интересную статью и подробную информацию про капчу. Не знала, что роботы её разгадывают, да ещё и лучше людей.
Автор: Владимир Белев
Да, сейчас капча разгадывается и роботами, но чаще используют такую схему:
Это применяется сейчас во всех подобных программах.
Автор: Владимир Белев
Здравствуйте! Прошу прощения за долгий ответ, тем не менее если еще актуально, поясню: разгадывание капчи нужно в первую очередь сейчас тем, кто работает с автоматизированными программами. Назначение у таких разное, например: для автоматического постинга в социальных сетях, а также добавления друзей, простановки лайков и любых других действий в соц.сетях. Также есть программы для автоматической отправки сообщения на форумах, блогах. Есть те, которые называются «парсеры» (служат для сбора информации). Например, парсеры поисковых систем, т.е. собирают ссылки на сайты по заданному запросу, собирают информацию из других сервисов. В общем программ много для всевозможных задач.
И такие программы обязательно в свой функционал добавляют возможность решать капчу на автомате. Потому что любые автоматически запросы к сайтам обязательно вызывают капчу (как раз она и нужна для защиты). И вот как пользователь, которому нужно эту капчу разгадывать в программа в автоматическом режиме, я просто выбираю сайт, например, RuCaptcha, загружаю деньги на баланс и в программе разгадывается капча автоматически. Т.е. программа (например, для автопостинга в соц.сетях) сталкивается с капчей и она отправляется в RuCaptcha, где ее решают обычные люди. Когда решена, в программу возвращается результат в виде готовой капчи. Все это происходит очень быстро.
Поэтому необходимость в разгадывании капчи вряд ли утеряет актуальность в скором времени.
На счет задания на 32 шаге: оно очень интересное, потому что позволяет попробовать способ заработка, разобраться в нем. А если не разбираться, а просто писать свои мысли, то и контент получается плохим (такой как раз публикуют многие в интернете).
Владимир Белев, спасибо, начинаю помаленьку понимать. Если можно, поясните еще два момента: Программа, например, для автопостинга сталкивается с капчей, через Rucaptcha пересылает ее, например, мне. Я делаю ошибку, она уходит на сайт, там определяется ошибка, генерируется новая капча и попадает мне же или кому-то другому? И, второй момент: тот или иной сайт генерирует капчу одного типа, а мне будет приходить разнотипная или нет? То есть, могут придти искаженные символы, а за ними сразу какая-то картинка или нет? Спасибо, Владимир.
Автор: Владимир Белев
На счет того, кому попадает капча во второй раз, врать не буду, не знаю 🙂 В такие тонкости не углублялся, не приходилось еще. Хотя вопрос интересный!
А что же касается, какая капча будет приходит, зависит от настроек и сервиса, где вы с капчей работаете. Например, где-то можно выставить получение разных капч, а где-то настраивается максимальный заработок и показываются самые дорогие капчи (это картинки обычно).
Автор: Людмила
Наконец то я узнала что такое капча!
Автор: Владимир Белев
Рад, что понятно разъяснил) Спасибо за комментарий!
Автор: Ольга Коренник
Хочу вставить ссылку на эту вашу статью у себя в блоге. Только вот еще не знаю, прямо так вставлять, надо ли сокращать, относится ли она к простым ссылкам или как партнерская выступает?
Автор: Владимир Белев
Здравствуйте! Ссылку просто скопируйте из адресной строки браузера и вставляйте на свой блог или куда-либо еще. Ссылка на саму статью не является партнерской.
Ваша статья помогла разобраться в видах капчи. А то я думала, что рекапча это только картинки. Теперь свою статью буду корректировать.
Автор: Владимир Белев
Отлично, что разобрались! Да, капча штука запутанная, их столько всяких видов и при этом некоторые дают свои названия определенным видам капчи, от чего еще больше путаницы.
Что только не придумают люди! Вообще, удивляюсь этим мозговитым товарищам)
Автор: Владимир Белев
Точно, прогресс не стоит на месте и компьютерная сфера развивается с невероятной скоростью.. В скоре наверное придумают что-то взамен капчам, чтобы моментально отличать робота от человека на сайте.
Ну, ты крут! Я тут пытаюсь статью про заработок на капче написать. И, попробовав, решила писать про то, что не рекомендую ее разгадывать и почему не рекомендую. Про всех этих мошенников и как мы им помогаем, разгадывая капчу через прокладки-сайты типа рукапча. Так вот, начитавшись в инете разных материалов, нашла элементарно в википедии информацию как роботы разгадывают капчу с нашей же помощью рядовых пользователей. В статье: Капча. Раздел способы прохождения капчи роботом. Будет время загляни там в последний пункт, найдешь ответ на вопрос как роботы чужими-человечкими руками разгадывают даже сложные капчи (кроме простейшей, когда нужно поставить галочку :)) )
Автор: Владимир Белев
Спасибо за интересный комментарий! Да, про капчу я уже и после статьи инфу изучал, с чем-то соглашусь, с чем-то и нет, но в принципе как все устроено сейчас понимаю) Спасибо!
Автор: Наталья
В статье «О себе» вы Владимир сетовали, что не смогли преподавать студентам. Я с удовольствием прочитала вашу статью о капче и перестала бояться «этого зверя». Когда я сама пыталась разобраться- НИЧЕГО не поняла: что, зачем и как с ней «общаться». Теперь заинтересовалась и обязательно попробую. Спасибо.
Автор: Владимир Белев
Одно дело преподавать в реальности, другое дело удаленно 🙂 Разница как оказалось огромная, мне так удобнее. Да и дело еще в том, что студенты идут учиться с неохотой, чаще заставляют родители, а в интернете чему-либо люди учатся по собственному желанию.
Оставить комментарий
Подписка на статьи
Делюсь интересной информацией не только на блоге, но и в социальных сетях!
YouTube Instagram Facebook Вконтакте Одноклассники Twitter