Ю2сайт

Создание сайтов

Как установить recaptcha на свой сайт


Устанавливаем рекапчу на свой сайт

1. Регистрируемся на https://www.google.com/recaptcha

2.Frontend
2.1 Вставляем скрипт
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
    function onSubmit() {
        document.getElementById("form-horizontal").submit();<br />
    }
</script>

2.2 В нужно меcте вставляем форму
Добавляем код капчи
<form action="mail.php" id="form-horizontal" method="post">
          <button class="g-recaptcha" data-callback="onSubmit" data-sitekey="6LdvQhEUAAeyhtehetESsjyrdtjrseyjrtyj">Отправить</button>
</form>


3. Backend
Нам понадобится вот эта библиотека recaptchalib.php
Создаем файл mail.php


require_once "recaptchalib.php";
// ваш секретный ключ
$secret = '6LdvQhEUAAAAANcQEФ2toG315920GjfodhdthethtV';
// пустой ответ
$response = null;
// проверка секретного ключа
$reCaptcha = new ReCaptcha($secret);

// if submitted check response
if ($_POST["g-recaptcha-response"]) {
$response = $reCaptcha->verifyResponse(
        $_SERVER["REMOTE_ADDR"],
        $_POST["g-recaptcha-response"]
    );
}


if ($response != null && $response->success) {
    echo "Ok!";
}else{
    echo "ALARMA!";
    exit;
}



Ещё важный момент после установки этой капчи у меня перестали уходить лиды в CRM Битрикс24, проблема была в том, что переменные secret и response используются и в Битрикс24, решилось всё переименованием в $secret_re и $response_re