Невидимая (скрытая) captcha
На странице reCaptcha надо добавить свой сайт. После чего в настройках станут доступы «ключ сайта» и «секретный ключ».
Потом на сайте добавить скрипт для капчи:
<script src="https://www.google.com/recaptcha/api.js?render=PUBLIC_KEY" async defer></script>
И на кнопку отправки формы добавить атрибуты data-sitekey
и data-callback
.
<form> <!-- Поля форм --> <input type="submit" data-sitekey="PUBLIC_KEY" data-callback="functionName"> </form> <script> function functionName(token) { // функция для отправки ajax-запроса } </script>
Выполнение кода на строне PHP.
$secretKey = 'секретный ключ при создании recaptcha'; $url = "https://www.google.com/recaptcha/api/siteverify?secret=".$secretKey ."&response=".$_POST['g-recaptcha-response']."&remoteip=".$_SERVER['REMOTE_ADDR']; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $curlData = json_decode(curl_exec($curl)); curl_close($curl); if (!$curlData->success) { $aResponse['error'] = true; $aResponse['message'] = 'Не корректно пройдена капча'; echo json_encode($aResponse); die(); }
Поддержать автора
Все статьи создаются и поддерживаются одним человеком,
если вам нравится контент, вы можете поддержать автора сайта