Сайт на движке WordPress последней версии. Не получается установить Google reCAPTCHA 2.0 на сайт.
Секретный ключ на сайте Google получил для домена.
Далее добавил перед тегом :
<script src='https://www.google.com/recaptcha/api.js'></script>
На сайте в шапке есть простая форма обратной связи.
В конце объекта я добавил код от Google, в итоге получилось:
<form action="/wp-content/themes/theme1971/php/mail.php" method="post">
<a href="#close" title="Закрыть" class="close">X</a>
<p>Форма обратной связи</p>
<div class="left">
<input type="text" required name="name" placeholder="Имя *" /><br/>
<input type="text" required name="phone" placeholder="Телефон *" /><br/>
<input type="text" name="email" placeholder="E-mail" /><br/>
</div>
<div class="right">
<textarea placeholder="Сообщение" name="text_comment"></textarea>
</div>
<div class="g-recaptcha" data-sitekey="6LccRIQUAAAAAJ5BpkyK5K9HgnP2c1BGkAqqSr7x"></div>
<input type="submit" value="Отправить" />
</form>
Далее перед закрывающимся тегом
body в footer.php добавил php код:
<?php
if (isset($_POST['g-recaptcha-response'])) {
$url_to_google_api = "https://www.google.com/recaptcha/api/siteverify";
$secret_key = '6LccRIQUAAAAAJ5BpkyK5K9HgnP2c1BGkAqqSr7x';
$query = $url_to_google_api . '?secret=' . $secret_key . '&response=' . $_POST['g-recaptcha-response'] . '&remoteip=' . $_SERVER['REMOTE_ADDR'];
$data = json_decode(file_get_contents($query));
if ($data->success) {
// Продолжаем работать с данными для авторизации из POST массива
} else {
exit('Извините но похоже вы робот \(0_0)/');
}
} else {
exit('Вы не прошли валидацию reCaptcha');
}
?>
Но проверка не работает. Форма отправляется даже если пользователь не ставил флажок "Я не робот" в капче от Google.