sonyps4.ru

Как сделать капчу гугл на своем движке. Установка каптчи reCaptcha

Здравствуйте, уважаемые читатели блога сайт. Буквально чуток времени хочу уделить относительно новой капче от Гугла (она около года назад была анонсирована), которая пришла на смену старой и замороченной. Раньше наверное мало кто из блогеров, находящихся в своем уме, мог бы поставить детище Google на свой сайт или блог — уж очень муторно было разгадывать предлагаемые там буквенные ребусы. Все удобство комментирования терялось.

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

Потом этот плагин работать перестал, и я где-то полгода с успехом пользовался , но и этот метод перестал работать после обновления WordPress до версии 4.4. За это время я попробовал парочку плагинов, которые отсеивали спам на основе анализа адресата и содержания (Antispam Bee и CleanTalk). Первый довольно много путал (спам в не спам, а неспам в спам), а второй вопреки ожиданиям не снижал, а увеличивал нагрузку на сервер (да еще и платный к тому же).

В общем, решил вернуться к проверенному методу - установки простейшей из существующих капч . DCaptcha уже не работает, но зато гигант Google серьезно упростил свою изначально монструозную reCAPTCHA и свел всю проверку к той самой установке галочки «Я не робот». К сожалению, я слишком туп, чтобы понять как это дело прикрутить к сайту без плагина (хотя и пробовал), поэтому пришлось воспользоваться услугами плагина No CAPTCHA reCAPTCHA. Но обо всем по порядку.

Методы снижения спам-нагрузки и почему именно reCAPTCHA?

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

Но ручной спам, как правило, представляет из себя хиленький ручеек по сравнению с полноводной рекой автоспама. Последний может генериться, например, Хрумером в просто фантастических объемах. Лично меня больше раздражает даже не то, что в сутки приходит несколько сотен спамных комментов в мою адмнинку WordPress, а то, что они бывают чудовищно длинными и устаешь их прокручивать до кнопки «Удалить». В общем, проблема сия реальна и тем более актуальна, чем популярнее будет ваш блог.

С ручным спамом бороться нет смысла (из-за обреченности этой борьбы и из-за его несущественного объема), но вот с автоспамом нужно что-то делать. Тут как бы есть два основных подхода :

  • Фильтровать уже добавленные в базу WordPress комменты на предмет спам/неспам и распихивать их по соотвествующим папочкам. К сожалению, плагины, работающие по такому принципу, выдают много брака и просто так очищать папку «Спам» без просмотра ее содержимого не получится, если вы не хотите потерять десятки действительно ценных комментариев отправленных активными читателями вашего блога.
  • Прикрутить к форме добавления комментария дополнительную проверку на то, кто именно оставляет это сообщение — живой человек или бот. Задача по выявлению этого различия называется тестом Тьюринга и решается в подавляющем большинстве случаев с помощью так называемой капчи (образовано от CAPTCHA, которое является аббревиатурой от набора умных слов). Основной проблемой этого метода борьбы со спамом является то, что вы напрягаете комментаторов разгадыванием «ребуса» (капчи), что может отбить у него вообще какое-либо желание продолжать пытаться оставить сообщение.
  • Однако, капчи, как уже говорил, бывают довольно простыми. Гугл сделал серьезный шаг в этом направлении и теперь его новая reCAPTCHA просто образец простоты и изящества для подавляющего большинства пользователей зашедших на ваш сайт (правда, малому числу из них может все же быть предложено ввести символы с картинки, если у алгоритма возникнут сомнения в его человечности).

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

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

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

    Ну, как бы выбор сделан — надо реализовывать.

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

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

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

    Чуть ниже приведена инструкция по установке. В области «Интеграция на стороне клиента» все понятно, но простой установки приведенного кода в указанные места не достаточно. Капча отображаться будет, но спам фильтроваться не будет. В области же «Интеграция на стороне сервера» мне вообще ничего не понятно. Туповат я для этого.

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

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

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

    Собственно, тут из всех настроек самым важным является опять же ввод полученных чуть выше ключей на сайте reCAPTCHA:

    После сохранения этих изменений плагин сразу встает на защиту ваших комментариев от спамеров.

    И не только комментариев. В настройках можно защитить с помощью этой капчи и форму входа в админку WordPress :

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

    Собственно, все. Я пока не стал принудительно сбрасывать кеш в WordPress (обновил лишь те статьи, к которым традиционно Хрумер не равнодушен), поэтому reCAPTCHA отображается не на всех страницах. Каких-то нареканий в работе пока замечено не было.

    Удачи вам! До скорых встреч на страницах блога сайт

    посмотреть еще ролики можно перейдя на ");">

    Вам может быть интересно

    Как избавиться от спама в комментариях WordPress за 5 минут (без капчи и без плагинов) Пропало левое меню в админке WordPress после обновления Где скачать WordPress - только с официального сайта wordpress.org
    Как войти в админку WordPress, а так же поменять логин и пароль администратора выданные вам при установке движка Как отключить комментарии в WordPress для отдельных статей или всего блога, а так же убрать или наоборот подключить их в шаблоне

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

    Что такое reCAPTCHA?

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

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

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

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

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

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

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

  • Опубликовано в: Статьи
  • Сообщение: Оставить комментарий
  • Каждый владелец веб-ресурса сталкивается с такой проблемой как спам и бороться с этим можно с помощью 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 от 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 – соединение:



    Загрузка...