Главная/Блог/Статьи/Как установить ReCaptcha v2 и обновить
Как установить ReCaptcha v2 и обновить

Как установить ReCaptcha v2 и обновить

Как обновить recaptcha v2 на новую recaptcha v3

 

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

 

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

 

Как установить ReCaptcha v2.0

 

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

Как установить ReCaptcha v2.0

 

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

 

<form method="post">
    <input type="text" name="email">
    <input type="text" name="url">

    <div class="g-recaptcha" data-sitekey="ВАШ_КЛЮЧ"></div>

    <input type="submint" name="sub_but">
</form>

<script src='https://www.google.com/recaptcha/api.js'></script>

 

Для интегрирования с сервером необходимо добавить код проверки 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 дает проверочное задание только тогда, если не может точно определить человек это или бот. Задание откроется в виде небольшого виджета и не потребует перезагрузки страницы.

Оставить комментарий

(*) полня обязательные к заполнению