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