PHP форма и reCAPTCHA v2

Решение, как подключить капчу от Google reCAPTCHA v2 к PHP форме

  1. Получить API ключи по ссылке
  2. В подвал код:
    <script src='https://www.google.com/recaptcha/api.js?hl=ru'></script>
  3. Форма:
    <form action="handle.php" method="POST">
        <input type="text" name="text">
        <div class="g-recaptcha" data-sitekey="_____КЛЮЧ_____"></div>
        <button type="submit">Отправить</button>
    </form>
  4. Файл handle.php
    <?
    // Проверка того, что есть данные из капчи
    if (!$_POST["g-recaptcha-response"]) {
        // Если данных нет, то программа останавливается и выводит ошибку
        exit("Произошла ошибка");
    } else { // Иначе создаём запрос для проверки капчи
        // URL куда отправлять запрос для проверки
        $url = "https://www.google.com/recaptcha/api/siteverify";
        // Ключ для сервера
        $key = "Тут ключ для сервера";
        // Данные для запроса
        $query = array(
            "secret" => $key, // Ключ для сервера
            "response" => $_POST["g-recaptcha-response"], // Данные от капчи
            "remoteip" => $_SERVER['REMOTE_ADDR'] // Адрес сервера
        );
     
        // Создаём запрос для отправки
        $ch = curl_init();
        // Настраиваем запрос 
        curl_setopt($ch, CURLOPT_URL, $url); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
        curl_setopt($ch, CURLOPT_POST, true); 
        curl_setopt($ch, CURLOPT_POSTFIELDS, $query); 
        // отправляет и возвращает данные
        $data = json_decode(curl_exec($ch), $assoc=true); 
        // Закрытие соединения
        curl_close($ch);
     
        // Если нет success то
        if (!$data['success']) {
            // Останавливает программу и выводит "ВЫ РОБОТ"
            exit("ВЫ РОБОТ");
        } else {
            // Иначе выводим логин и Email
            echo $_POST['login'] . "
    ". $_POST['email']; } }
Продолжая использовать веб- сайт beta-code.ru, вы даете согласие на обработку файлов cookie, пользовательских данных (сведения о местоположении; тип и версия ОС; тип и версия Браузера; тип устройства и разрешение его экрана; источник откуда пришел на сайт пользователь; с какого сайта или по какой рекламе; язык ОС и Браузера; какие страницы открывает и на какие кнопки нажимает пользователь; ip-адрес) в целях функционирования сайта, проведения ретаргетинга и проведения статистических исследований и обзоров. Если вы не хотите, чтобы указанные данные обрабатывались, покиньте сайт.
Принять