Что такое гугл капча
Как работает 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, и более того, никто не заставляет веб-мастеров устанавливать ее на свои сайты 🙂
Что такое Google reCAPTCHA? Как получить API ключи и установить капчу?
Взаимодействие с пользователем является важнейшей составляющей в процессе ведения своего сайта. Формы комментирования, формы обратной связи, регистрация и авторизация на сайте, процесс оформления заказа – все это относится к наиболее важным моментам взаимодействия с пользователями.
Основным препятствием на пути эффективного взаимодействия с вашими пользователями есть множество спамных пользователей, фейковых регистраций и ботов, которые постоянно пытаются атаковать ваш сайт. С этими проблемами сталкивается практически каждый сайт в Интернете. Со спам-комментариями можно бороться вручную – например, удалять их самостоятельно. Также можно перечитывать и фильтровать все письма, поступающие из ваших контактных форм. Но все это достаточно сложный процесс. Как, например, бороться с массовыми рассылками? Как предотвратить регистрации на сайте, происходящие в автоматическом режиме? По мере роста вашего сайта это может стать очень изнурительной работой и забирать у вас почти все свободное время.
Вот почему важно принять необходимые меры для борьбы с этим. Наиболее эффективный способ сделать это – использовать лучшее средство против ботов – CAPTCHA и reCAPTCHA.
Краткий обзор CAPTCHA и reCAPTCHA
CAPTCHA – это аббревиатура от «Полностью автоматизированного публичного теста Тьюринга для различения компьютеров от людей» («Completely Automated Public Turing Test To Tell Computers and Humans Apart»). С помощью этого компьютерного теста можно эффективно определять, кто использует текущую систему – компьютер или человек, то есть выявлять так называемых «ботов».
Простейшие Капчи (CAPTCHA) выглядели так:
На сегодняшний день такие Капчи очень легко распознаются и обходятся ботами. Поэтому, возникла насущная необходимость в более надежных Капчах.
reCAPTCHA – это усовершенствованная форма CAPTCHA. Компания Google приобрела технологию CAPTCHA в 2009 году и впоследствии сменила ее название на reCAPTCHA. Первые CAPTCHA требовали от пользователя ввода символов, специально искаженных, полупрозрачных и с наложением шума (помех). Если пользователь правильно вводил в форму указанные символы, тогда его действия на сайте были авторизованы. Технология reCAPTCHA значительно упростила пользователям процесс прохождения теста. В основном, этот процесс заключается в том, чтобы пользователь отметил простой флажок, подтверждающий, что он «Не робот» («I’m not a robot»).
Бывает, что этого не достаточно для распознавания человека, тогда пользователю предлагается отобрать определенные объекты на изображении. Например, «Выберите все изображения, где есть пешеходные переходы». Или пожарные гидранты, или дорожные знаки и тому подобное.
Вот пример того, как может выглядеть тест reCAPTCHA:
reCAPTCHA – это бесплатная и общедоступная услуга антиспама от компании Google. Простота и эффективность API Captcha облегчает владельцам сайтов процесс борьбы со спамом в контактных формах, страницах авторизации (или регистрации) и формах комментирования. Также она помогает бороться с мошенничеством и злоупотреблениями на вашем сайте. С другой стороны, реальные пользователи смогут легко авторизоваться на сайте, делать покупки, просматривать, комментировать ваш контент, а фейковые пользователи будут заблокированы.
Какие есть варианты reCAPTCHA? Их стоимость
На сегодняшний день Google предлагает 3 версии капч, которые рассчитаны под разные потребности и бюджет:
Как получить ключи для использования reCAPTCHA API?
Чтобы добавить Google reCAPTCHA на свой сайт, вам понадобятся два ключа API. Для получения этих ключей зайдите на сайт Google reCAPTCHA. Нажмите кнопку Консоль администратора (Admin Console) в верхнем меню главной страницы. Учтите, что для доступа вам понадобится аккаунт Google (если у вас есть почта GMail, значит у вас уже есть такой аккаунт). После авторизации вы увидите страницу «Зарегистрировать новый сайт» (Register a new site).
На этой странице вам нужно ввести информацию о вашем сайте. Сначала введите имя сайта или любое другое название в разделе «Ярлык». Это название используется для простой идентификации своего сайта.
Затем выберите нужный тип reCAPTCHA: версию 2 (v2), или версию 3 (v3). При выборе второй версии вы увидите три доступных варианта:
Для третьей версии проверка запросов выполняется с учетом оценок, в фоновом режиме.
В разделе Владельцы будет указано текущий электронный адрес, вы также можете добавить другие электронные адреса.
Затем вам нужно принять Условия использования reCAPTCHA, чтобы добавить сервис на свой сайт.
Также выберите флажок «Отправлять владельцам оповещения», чтобы позволить Google присылать вам электронные письма, если будут выявлены какая-либо неправильная конфигурация или подозрительная активность.
После заполнения формы вы можете нажать кнопку Отправить, чтобы зарегистрировать свой сайт (или сайты).
После сохранения формы Google reCAPTCHA покажет вам сообщение об успехе, а также 2 нужных вам ключа: ключ, который нужно добавить в HTML код вашего сайта, а также секретный ключ, который необходим для обмена данными между сайтом и сервисом reCAPTCHA.
Теперь вы можете использовать эти API ключи на своем сайте.
Как добавить Google reCAPTCHA на свой сайт?
Теперь, когда у вас есть ключи API сервиса капчи, пора реализовать этот инструмент на своем сайте.
Самый простой способ добавления капчи от Google – это отображение виджета reCAPTCHA в автоматическом режиме (для reCAPTCHA v2). Для этого вам нужно добавить соответствующий скрипт JavaScript api.js на страницу (желательно в секции HEAD ) и добавить в нужную форму (комментирования, регистрации и т.д.) дополнительный блок DIV с классом g-recaptcha и атрибутом data-sitekey (значением этого атрибута будет ключ вашего сайта, который вы получили при регистрации выше).
Пример простой реализации reCAPTCHA на своем сайте:
Сохраните свою HTML форму (со своими данными) и на вашем сайте будет успешно реализовано Google reCAPTCHA. Примите наши поздравления!
После того, как капча начнет работать, вы также сможете отслеживать статистические данные этого сервиса в инструменте Аналитики Google reCAPTCH’и.
Подведение итогов
Ежедневно владельцам сайтов приходится бороться с постоянно растущим количеством спама, ботов, фейковых аккаунтов и тому подобного. Эта борьба отнимает много сил и времени. И она может длиться бесконечно.
Одним из лучших способов автоматической борьбы с этими атаками спаммеров является использование сервиса reCAPTCHA от Google, который идентифицирует ботов и блокирует их, а реальным пользователям позволяет совершать авторизованные действия на сайте.
Кроме того, установить и активировать этот сервис очень просто, и вы можете сделать это менее чем за один час, и реализовать на своем сайте эффективное антиспам программное обеспечение.
На этом наша инструкция о том, что такое reCAPTCHA, как получить API ключи для нее, и как ее реализовать на своем сайте подходит к концу. Надеемся, что эта инструкция помогла в разъяснении того, что такое Google reCAPTCHA, и упростила вам процесс самостоятельного добавления reCAPTCHA в любую форму на вашем сайте. Если вы столкнулись с какой-то проблемой по данному вопросу, пожалуйста, не стесняйтесь использовать форму комментирования ниже.
Если вы хотите узнать о внедрении Google reCAPTCHA на сайте WordPress, по ссылке вы найдете детальную инструкцию.
Google ReCAPTCHA Invisible или долой дорожные знаки и витрины магазинов
Привет! Хоть большинству читателей Хабра не нужно объяснять, что такое CAPTCHA, зачем она придумана и для чего используется, позволю себе небольшой исторический экскурс.
Итак, раньше, чтобы зарегистрироваться на сайте или оставить комментарий, люди ломали свои глаза, разгадывая капчу:
У кого были проблемы со зрением, нередко могли её прослушать:
Для решения задачи «в промышленных масштабах» использовали индусов или китайцев 🙂
В 2007 году умные люди из университета Карнеги — Меллон придумали ReCAPTCHA, чтобы также продолжать бороться с людьмиботами, но и полезное дело делать — помогать оцифровывать книги. Под девизом «ReCAPTCHA — Stop Spam, Read Books» проект пошёл в массы.
В 2009 году после покупки проекта все дружно стали помогать Гуглу распознавать номера домов
В 2015 году после очередного обновления пользоваться ReCAPTCHA («No CAPTCHA ReCAPTCHA») стало ещё проще. Теперь достаточно поставить галочку напротив «Я не робот» / «I’m not a robot»:
Если ваша «человечность» вызывала сомнения, вам оставалось всего лишь правильно выбрать несколько картинок. Например, все витрины, дорожные знаки, поезда и много чего ещё.
Технологии не стоят на месте. Роботы довольно успешно взламывают теперь и ReCAPTCHA.
А теперь по делу. Google тестирует следующую версию ReCAPTCHA — ReCAPTCHA Invisible:
Суть её в том, что теперь не будет необходимости куда-либо нажимать/вводить/выбирать, чтобы подтвердить, что вы человек. Для пользователей всё будет прозрачно, если у «капчи» не будет сомнений в его «человечности».
Проект находится в стадии beta, но получить код «невидимой» рекапчи можно уже сейчас на этой странице. Документация для разработчиков с примерами внедрения доступна здесь.
Капча — что это такое, какая она бывает и как правильно её выбирать
Что такое капча
Капча (англ. captcha) — аббревиатура от «Completely Automatic Public Turing Test to Tell Computers and Humans Apart» (полностью автоматический тест Тьюринга для отличния компьютеров от людей). По сути, это защита от заполнения и отправки любых форм ботами и спамерами в автоматическом режиме, будь то запрос в поисковой системе или регистрация в каком-либо сервисе, отправка комментария под статьёй или заполнение анкеты на сайте. Как правило, представляет собой картинку с со случайным текстом, цифрами, буквами, значение которой нужно записать в специальную форму.
Пример капчи во Вконтакте
Эффект рассчитан на то, что боты картинку не распознают, а человек — сможет. Соответственно, спамеры в автоматическом режиме и боты проверку не пройдут, и спам тоже.
Виды капчи, какая она бывает
Как было сказано выше, как правило, капча — это картинка с цифрами и буквами. Однако, это не единственная её форма, ведь всё зависит от вашей фантазии.
Самая простая капча представляет собой чекбокс, куда надо поставить галочку в подтверждение о том, что вы — не робот.
Капча на сайте МТС при отправке бесплатных sms
Бывают такие, что приходится выбирать картинки по какому-то признаку. Например, подобная схема реализована на сайте МТС в разделе отправки бесплатных сообщений SMS.
Собственно, видов превеликое множество. Как же выбрать то, что нужно? Лично я рекомендую пользоваться самописными вариантами, ибо тут всё будет зависеть от фантазии вашей или ваших программистов. Если капча получится оригинальной, то такую вещь обойти спамерам будет намного сложнее. Но, так как это довольно накладно либо по времени, либо по деньгам, советую воспользоваться сервисом Google reCAPTCHA
Google ReCaptcha — как установить и настроить
Google reCAPTCHA — это сервис, который предоставляет бесплатную капчу для защиты различных форм ввода данных на сайте от спамеров и ботов.
На изображении вы видите промо Google reCAPTCHA Invisible — нового вида рекапчи (невидимая), который только проходит бета-тестирование. Соответственно, пока что пользоваться им я не рекомендую, лучше отдать предпочтение классической проверенной рекапче.
Нужно авторизоваться или завести новый аккаунт. Если у Вас уже есть аккаунт от почты Gmail, можно авторизоваться с его помощью.
После авторизации регистрируем сайт, получаем ключи доступа.
Регистрируем сайт для Google Recaptcha
Если их прописать неверно, увидите ошибку Error: Invalid domain key или Ошибка: неверный домен ключа
Публичный и секретный ключи Google Recaptcha
Они понадобятся в дальнейшем:
Я приведу пример с последним вариантом.
В ней мы разместили нашу рекапчу над кнопкой отправки формы. Теперь нужно подключить обработчик. Над этой формой разместим следующий код:
Здесь мы подключили PHP библиотеку для обработки рекапчи, а также верифицировали капчу на сервере Google.
Я подготовил специальную страницу для проверки рекапчи: http://recaptcha.sheensay.ru — код полностью копирует источник выше.
В случае, если форма будет успешно отправлена, вы увидите соответствующее сообщение:
Форма успешно отправлена
Если же, капча не пройдёт проверку, вы увидите сообщение об ошибке:
Проверка капчи не пройдена
Всё, теперь каждая форма комментариев защищена капчей.
Иерархия файлов в подобном проекте:
![]()
index.php в корне — тут располагается основной код, рядом располагается каталог recaptcha — в нём все файлы из PHP-библиотеки
Приведу полный код страницы http://recaptcha.sheensay.ru. Вы можете поменять логику вывода ошибок на свою:
Как установить Google Recaptcha в WordPress
Чтобы установить Google Recaptcha в WordPress, самым удобным будет сделать это через плагин Google Captcha (reCAPTCHA) by BestWebSoft
Устанавливаете плагин, в поля вводите ключи для домена, которые мы приготовили по инструкции выше — и готово.
Далее, переходите к настройкам плагина, вводите публичный и секретный ключи в соответствующие поля:
Страница настроек плагина Google Captcha (reCAPTCHA) by BestWebSoft
Как защитить комментарии от спама без капчи
Если морока с собственными комментариями ни к чему, трудно установить капчу, она Вам почему-то не нравится или просто нет такой возможности, то можно воспользоваться готовой системой комментирования Disqus. Как выглядит Disqus, можно увидеть под этой статьёй, на этом сайте интегрирована и используется эта система комментирования. Из плюсов — очень удобная система модерирования, отсутствие спама как такового, приятный внешний вид.
Как обойти капчу
Как говорилось выше, боты картинку капчи не распознают, а человек — сможет. Однако, и на старуху найдётся проруха, потому появились сервисы автоматического распознавания капчи. Одним из них является anti-captcha.com (бывший Antigate).
Суть сервиса заключается в том, что он за небольшую плату предоставляет сервис распознавания капчи. Капчу распознают люди, готовые это делать за копейки.
Такой сервис может пригодиться, скажем, для парсера поисковой выдачи (например, KeyCollector). Поисковые системы Google или Yandex при слишком частых запросах к ним начнут подозревать автоматические запросы и будут просить вводить капчу. Тут и пригодится сервис автоматического распознавания капчи. Сам сервис предоставляет API для взаимодействия с ним. Многие программы — парсеры, имеют встроенный функционал для взаимодействия с антикапчей (тот же KeyCollector имеет его), вам будет достаточно только пополнить баланс и прописать ключи API сервиса в программе, остальное — дело техники.
Добавление Google reCAPTCHA к PHP форме
Статья, в которой рассмотрим, как подключить recaptcha к форме обратной связи, работающей по технологии ajax.
Что такое Google reCAPTCHA?
Google reCAPTCHA – это сервис для защиты вашего сайта от ботов и других атак.
Формы обратной связи, комментирования, регистрации, авторизации, оформление заказа довольно часто подвергаются спам атаке. Чтобы их защитить от ботов и злоупотребление можно воспользоваться reCAPTCHA.
Версии Google reCAPTCHA:
Подключение reCAPTCHA v2 или v3
Установку Google reCAPTCHA v2 или v3 для проверки форм можно представить в виде следующих шагов:
Получение ключей reCAPTCHA
Получение ключей для reCAPTCHA v2 или v3 необходимо перейти на страницу «www.google.com/recaptcha/admin».
Для доступа к консоли администратора необходимо иметь аккаунт в Gmail. Если учётной записи нет, то её нужно завести.
После этого необходимо нажать на значок «+».
В открывшейся форме нужно:
После заполнения всех полей нажать на кнопку «Отправить».
При успешной регистрации Google будут выданы 2 ключа:
Установка recaptcha на сайт
Подключение reCAPTCHA к сайту (странице) осуществляется как на стороне клиента (в HTML), так на стороне сервера (в PHP).
Разберём, как это осуществляется более подробно. В качестве примере выберем ajax форму обратной связи.
Подключение recaptcha к HTML-документу
Подключение виджета reCAPTCHA к странице осуществляется посредством выполнения 2 действий:
Интегрирование recaptcha в php скрипт
Установка recaptcha в скрипт php осуществляется посредством внесения в файл process.php следующих изменений:
Готовая форма обратной связи с recaptcha
Бесплатно загрузить форму обратной связи с recaptcha можно по следующей ссылке:
Изображения готовой формы, в которую интегрирована recaptcha.
Статьи, связанные с этой темой:
Комментарии:
У себя на сайте в форме регистрации для валидации использую php либу grecaptcha:
На самой странице:
В принципе все отлично работает.
Но, к примеру при регистрации юзера после submit формы рекапча валидировалась, а какое-либо поле (логин, e-mail и т.п.) не прошло валидацию.
Юзер исправляет данные. При этом рекапча уже отмечена решенной.
А при повторном submit формы — получаем ошибку валидации timeout-or-duplicate
Погуглив данную ошибку понял, что API рекапчи не позволяет её верифицировать более одного раза по одному и тому же токену.
Думаю, что для решения проблемы, при получении ошибки либо НЕвалидации какого-либо поля нужно перезапускать рекапчу.
Долго гуглил — как я понял через php это не предусмотрено, а через js — grecaptcha.reset();.
Можете помочь советом, как это «прикрутить»?
В документации есть опция error-callback. Может можно решить задействовав её?
Спасибо за Ваш ответ. Я выбрал отправку по SMTP, но не знаю что прописать вместо ***
Вот данные почты, помогите пожалуйста заполнить.
Имя пользователя: fetva@313news.net
Пароль: Используйте пароль почтовой учетной записи.
Сервер входящей почты: cpanel24.v.fozzy.com
IMAP Port: 993 POP3 Port: 995
Исходящий сервер: cpanel24.v.fozzy.com
SMTP Port: 465
IMAP, POP3 и SMTP authentication.
с этим вылезла ошибка, письмо не отправляется.
Как добавить в форму новое поле подробно описывал в этой статье. Она, конечно, немного отличается от этой, но принцип такой же.
Я посмотрел и попытался сделать. Добавил в индексный файл
а в файл process.php добавил:
перед:
добавил
далее добавил pol тут
и тут
в итоге письмо отправляется, на почту приходит слово Пол, но выбранная опция не приходит.
Я не разбираюсь в php, помогите пожалуйста.
Может порт с использованием ssl какой-то другой.
В этой форме ещё нужно добавить код в «script.js»:
Письмо не ушло. На почте ничего нет, но в файле message.txt оно появилось.
Через минуту в форме появилось сообщение:
А вместо капчи написано: Время проверки истекло…
Приведу код на всякий случай
Добрый день.
Спасибо за инструкцию.
Помогите, пожалуйста.
1. Нет файла process.php Где он может лежать? Или его нужно создать?
2. Файл script.js у меня в шаблоне сайта, это нормально, код капчи будет в нем работать?
Спасибо.
Почему то не отправляются файлы в папку images, ошибку не пишет, просто отправляет сообщение на почту.
Сделал для нескольких типов файлов, как вы писали ниже.
// если данные были отправлены методом POST, то…
if ($_SERVER[‘REQUEST_METHOD’] == ‘POST’) <
// создаём экземпляр класса PHPMailer
$mail = new PHPMailer;
// отправляем письмо
if ($mail->Send()) <
$data[‘result’]=’success’;
> else <
$data[‘result’]=’error’;
>
//после загрузки веб-страницы
$(function () <