Капча от гугл как поставить. No CAPTCHA reCAPTCHA русская версия

  • Опубликовано в: Статьи
  • Сообщение: Оставить комментарий
  • Каждый владелец веб-ресурса сталкивается с такой проблемой как спам и бороться с этим можно с помощью CAPTCHA, который используется для того, чтобы отличить машину от человека методом определения цифр на картинке, отдельных фрагментов на изображении и другое. С это задачей легкостью справится даже ребенок, она достаточно сложная для машины. В сегодняшней статье мы рассмотрим, как установить и настроить ReCaptcha v2.0, более новую и улучшенную версию, с усовершенствованным дизайном и интерфейсом. После обновления программы, значительно упростился процесс серверной проверки.

    Для начала необходимо получить ключи от Google, получить его можно перейдя по ссылке . Обязательным условием для поучения ключа является наличие учетной записи в Google. После перехода по ссылке необходимо добавить ваш сайт либо несколько сайтов в предложенную форму.

    В предложенную форму вводим наименование сайта, владельца (почтовый ящик) и домен. Без использования «http://» и «www» и нажимаем кнопку «Регистрация», после чего получаем 2 ключа, один из них секретный, далее приступаем к установке CAPTCHA на сайте.


    Для того чтобы установить CAPTCHA необходимо ввести CAPTCHA в предложенную форму следуя достаточно понятной инструкции Google. В коде HTML необходимо использовать первый ключ, API можете подключить в любом месте, можно сразу после формы, не обязательно должно быть в HEAD

    Для интегрирования с сервером необходимо добавить код проверки ReCaptcha. Код на php прописываем, там, где будет проходить проверка данных у сайта.

    //Получаем пост от recaptcha $recaptcha = $_POST["g-recaptcha-response"]; //Сразу проверяем, что он не пустой if(!empty($recaptcha)) { //Получаем HTTP от recaptcha $recaptcha = $_REQUEST["g-recaptcha-response"]; //Сюда пишем СЕКРЕТНЫЙ КЛЮЧ, который нам присвоил гугл $secret = "ВАШ_СЕКРЕТНЫЙ_КЛЮЧ"; //Формируем utl адрес для запроса на сервер гугла $url = "https://www.google.com/recaptcha/api/siteverify?secret=".$secret ."&response=".$recaptcha."&remoteip=".$_SERVER["REMOTE_ADDR"]; //Инициализация и настройка запроса $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_TIMEOUT, 10); curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16"); //Выполняем запрос и получается ответ от сервера гугл $curlData = curl_exec($curl); curl_close($curl); //Ответ приходит в виде json строки, декодируем ее $curlData = json_decode($curlData, true); //Смотрим на результат if($curlData["success"]) { //Сюда попадем если капча пройдена, дальше выполняем обычные //действия(добавляем коммент или отправляем письмо) с формой } else { //Капча не пройдена, сообщаем пользователю, все закрываем стираем и так далее } } else { //Капча не введена, сообщаем пользователю, все закрываем стираем и так далее }

    После совершенных манипуляций количество спама должно значительно сократится. Данная версия CAPTCHA дает проверочное задание только тогда, если не может точно определить человек это или бот. Задание откроется в виде небольшого виджета и не потребует перезагрузки страницы.

    Компания утверждает, что её система reCAPTCHA может отличить человека от машины и без каких-либо сложных заданий или проверок.

    Что такое reCAPTCHA?

    reCAPTCHA - ведущая CAPTCHA-служба в Интернете. Наверное, каждый из вас видел так называемую «капчу» много раз, проходя регистрацию на том или ином сайте. Для автоматического определения людей от спам-ботов вас просят ввести в нужном поле слова или цифры с изображения, выделить несколько изображений, содержащих нужные объекты, или просто поставить галочку. Но теперь капча будет появляться реже, потому что Google сделала её скрытой. Однако она не исчезнет.

    Как она работает?

    Старая reCAPTCHA была довольно проста - обычная галочка в поле «Я не робот». Новая версия стала еще проще, в ней нет никаких заданий или чекбоксов. Она работает незаметно и отделяет ботов от людей. Google не вдавалась в подробности о работе системы.

    В новой версии системы сочетаются машинное обучение и продвинутый инструмент для анализа риска, который адаптируется к новым угрозам.

    Более подробная информация о системе, вероятно, поможет создателям ботов придумать способ обойти её, поэтому в ближайшее время деталей можно не ждать.

    Google купила компанию reCAPTCHA в 2009 году. Некоторые CAPTCHA-системы задают пользователям случайные вопросы, но старая версия reCAPTCHA фактически использовалась для решения задач, которые нужно было решить Google. Google оцифровывает миллионы книг, но иногда программное обеспечение для оптического распознавания символов не может распознать слово, и оно отправляется в reCAPTCHA. Если вы когда-либо видели reCAPTCHA, выглядящую как набор цифр, то это были снимки c автомобилей Street View , которые мчались по улицам и определяли номера домов. Если ПО не могло определить номер дома, это фото преобразовывалось в капчу для распознавания людьми. Наборы изображений с просьбами наподобие «Выберите всех кошек» использовались для обучения алгоритмов распознавания компьютерных изображений.

    Когда сайты переключатся на невидимую капчу, большинство пользователей вообще не будут ее видеть. Но если ваша система будет помечена как «подозрительная», вам предложат решить одну из обычных задачек.

    Здравствуйте!. Не так давно у меня на сайте появилась проблема: капча, которая раньше довольно долго и исправно работала, перестала это делать. В последнее время число спамных комментариев доходило до 70 в день, согласитесь это мягко говоря перебор. Было понятно что старый плагин не работает и нужно искать новое решение.

    Комментарии по своей сути делятся на два вида: автоматические и ручные. Ручные как понятно из самого названия оставляются живыми людьми, как правило в не большом количестве. Но вот автоматические комментарии которые оставляются программами роботами, в колоссальных размерах, а особенно если это блог с большим трафиком.

    Почему я выбрал именно reCAPTCHA?

    Поискав на просторах рунета решение, мой взгляд пал на reCAPTCHA от гугла. Раньше я уже думал поставить на блог эту капу, но дело в том, что раньше сама капча была слишком сложной, и тогда я от нее отказался. В новой же версии капчи, гугл учел все недоработки прошлой версии и создал капчу, которая по простоте и удобству на порядок опередила всех своих конкурентов.

    Вот сами взгляните как выглядит реКапча от Гугла будет выглядеть для 99.9% посетителей вашего сайта:

    А вот так вот она будет выглядеть в случае форс-мажора (если алгоритм после проведения десятка тестов на человечность все же за сомневается):

    Регистрация сайта в reCAPTCHA и установка ее на свой блог

    Для начала нужно зайти на официальную страницу reCAPTCHA (https://www.google.com/recaptcha/admin#list) и добавить там свой сайт, чтобы взамен получить два ключа которые в дальнейшем будут вам необходимы для того чтобы капча работала.

    Регистрация представляет из себя указание названия капчи в системе и доменное имя вашего сайта, где эту самую капчу вы планируете использовать. Заполняете все поля и нажимаете “Регистрация”.

    После этого вы попадете в административную панель сервиса reCAPTCHA для вашего сайта. Если вы хотите вы можете добавить ее в закладки вашего браузера, чтобы в дальнейшем не искать. Со временим в процессе работы реКапча начнет вам показывать статистику по работе, но а пока из этой панели мы можем взять те самые ключи, без которых «Я не робот» не будет работать.


    Чуть ниже вы увидите инструкцию, как именно проводить интеграцию. Если честно мне это было не сильно понятно, поэтому было принято решение решить данный вопрос с помощью плагина для интеграции reCAPTCHA в WordPress. Поискав по просторам интернета был найден простой и функциональный плагин – No CAPTCHA reCAPTCHA (https://wordpress.org/plugins/no-captcha-recaptcha/).

    Настройка и работа плагина No CAPTCHA reCAPTCHA в WordPress

    Для начала нам нужно установить сам плагин, для этого заходите в административную панель WordPress, из левого меню выбираете «Плагины» - «Добавить новый», вводите в поисковую строку No CAPTCHA reCAPTCHA и производите установку. Далее не забываете его активировать и заходите в его настройки (внизу левого меню вы найдете новый пункт «No CAPTCHA reCAPTCHA»).



    Помимо всего выше сказанного в настройках плагина, вы так же можете выставить цветовую гамму светлую или темную, а также либо предоставить капче возможность самой угадывать язык пользователя, либо установить его принудительно.

    После сохранения изменений на блоге сразу же появляется защита от спама, и теперь вы защищены от автоматических комментариев, которые генерируются такими программами как Хрумер, в просто фантастических размерах, особенно если у вас крупный проект.


    Надеюсь, данная статья про reCAPTCHA от Google, была вам полезна. Если у вас есть какие-то дополнения или вопросы, то смело оставляйте свои комментарии..

    От автора: создавая сайты или различные веб-приложения, на страницах которых в публичном доступе присутствует форма отправки некоторых данных, всегда необходимо заботиться о защите от нежелательных сообщений, то есть спама. В данный момент есть достаточно много всевозможных способов блокирования спам сообщений, но самый простой и надежный – это, конечно же, каптча, которая известна практически всем пользователям интернета. При этом, каптчи бывают различных видов графические, текстовые, математические, вопрос-ответ и т.д. Но в уроке Новая reCaptcha от Google мы поговорим о каптче от сервиса Google, под названием reCaptcha, которая реализует достаточно хороший барьер от спам сообщений на Вашем сайте. К тому же недавно вышла новая версия данной каптчи, поэтому давайте посмотрим, как с ней работать.

    Установка каптчи reCaptcha

    Итак, давайте перейдем на официальный сайт каптчи reCaptcha, http://google.com/recaptcha . При, этом хотел бы заметить, что Вам потребуется учетная запись сервиса Google, поэтому зарегистрируйтесь, если у Вас нет учетной записи и выполните авторизацию.

    При этом заполняем следующие поля:

    Название – в данном поле прописываем название сайта.

    Домены – указываем домен, на котором будет использоваться каптча. Так же разрешается указать несколько доменов, при этом каждый домен необходимо вводить с новой строки.

    Владельцы – в данном поле перечисляем почтовые ящики владельцев каптчи (по одному в строке).

    Затем для завершения регистрации кликаем по кнопке Регистрация. После этого сервис Google сгенерирует два ключа, которые необходимы для работы каптчи:

    Публичный ключ – который необходим для отображения блока каптчи.

    Секретный ключ – который необходим для проверки правильности отправки каптчи. При этом секретный ключ должен хранится только на сервере и не должен быть доступен для всеобщего обозрения.

    Для отображения каптчи, необходимо подключить библиотеку reCapthca на странице где она должна быть отображена:

    Затем в месте, где должна отображаться каптча, добавляем следующий блок:

    < div class = "g-recaptcha" data - sitekey = "6LfyBhATAAAAAOoLy4thSKZLkmcosy_mkjnpqxkG" > < / div >

    При этом в атрибуте data-sitekey блока div должен храниться публичный ключ. После этого переходим в браузер и обновляем тестовую страницу.

    Теперь reCaptcha отображается на тестовой странице, но при этом защита от спама еще не завершена, так как данную форму можно отправить и не активируя чекбокс каптчи. А значит, необходимо на стороне сервера,в скрипте обработчике формы, осуществить проверку, на правильность заполнения каптчи.

    Интеграция каптчи на стороне сервера

    Первым делом давайте посмотрим, какие данные мы получим в скрипте обработчике после успешной активации чекбокса каптчи. Для этого, в скрипте обработчике формы, распечатаем на экран данные суперглобального массива POST.

    print_r($_POST);

    print_r ($ _POST ) ;

    При этом на экране мы увидим следующее.

    То есть в суперглобальном массиве POST в ячейке g-recaptcha-response, содержится код, который возвращает сервис Google после активации чекбокса каптчи, если же чекбокс не активирован то данная ячейка будет пуста. При этом код представляет собой определенную последовательность символов, которую нам ни как не прочитать. Поэтому далее необходимо отправить POST запрос по следующему адресу: https://www.google.com/recaptcha/api/siteverify

    И отправить следующие параметры:

    secret — секретный ключ, который был сгенерирован при регистрации пользователя;

    response — код, который был получен при активации чекбокса каптчи;

    remoteip – IP адрес, с которого отправляется форма.

    Для отправки запроса, по указанному запросу используем curl – соединение:



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: