Сегодня я расскажу о том как добавить новую версию 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 }