PHP: Добавляем ReCaptcha 2 на свой сайт

Сегодня я расскажу о том как добавить новую версию ReCaptcha от Google на свой сайт.

На этот раз разработчики постарались сделать процесс добавления теста Тьюринга максимально простым. И это им удалось. Процесс добавление ReCaptcha второй версии состоит всего из трех простых этапов.

1) Переходим на сайт https://www.google.com/recaptcha/intro/index.html и регистрируем свой сайт. После регистрации получаем ключ (secret). А так же два HTML тега, которые нужно вставить на свою страницу.

2) Добавляем два HTML тега из пункта 1 на свой сайт

<script src='https://www.google.com/recaptcha/api.js'></script>
<div class="g-recaptcha" data-sitekey="ВАШ_КЛЮЧ"></div>

3) На стороне сервера в месте где нужно выполнить проверку добавляем следующий код

//Имя g-recaptcha-response дается по умолчанию. Если вы отсылаете запрос через AJAX вы можете использовать другое имя переменной запроса.
$recaptcha = $_REQUEST['g-recaptcha-response'];
$secret = 'ВАШ_SECRET';
$url = "https://www.google.com/recaptcha/api/siteverify?secret=".$secret ."&response=".$recaptcha."&remoteip=".$_SERVER['REMOTE_ADDR'];
$status = 1;
if(!empty($recaptcha)) {
    $curl = curl_init();
    if(!$curl) {
       $status = 2;    
    } else {
      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);    
      $curlData = json_decode($curlData, true);
      if($curlData['success']) {
        $status = 0;
      }
    }
} 
if($status === 0) {  
    //Все хорошо
} else if($status === 1) {  
    //Неверный код
} else if($status === 2) {  
    //Ошибка CURL
}
Запись опубликована в рубрике PHP с метками , , , , , , , , , , , . Добавьте в закладки постоянную ссылку.