HTTPS является обязательным для использования Google на Recaptcha?Можно ли его использовать на сайтах "http"? - PullRequest
0 голосов
/ 07 мая 2019

Я хотел бы использовать recaptcha на моей веб-форме.

Документы Google здесь (https://developers.google.com/recaptcha/docs/display) сказать это -

"Сценарий должен быть загружен с использованием протокола HTTPS и может быть включен из любой точки на странице без ограничений."

Значит ли это, что мой сайт должен быть HTTPS, чтобы он работал? Есть ли способ использовать Recaptcha без HTTPS?

Спасибо

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Construct the Google verification API request link.
    $params = array();
    $params['secret'] = '______________PRIVATE KEY_________.'; // Secret key
    if (!empty($_POST) && isset($_POST['g-recaptcha-response'])) {
        $params['response'] = urlencode($_POST['g-recaptcha-response']);
    }
    $params['remoteip'] = $_SERVER['REMOTE_ADDR'];

    $params_string = http_build_query($params);
    $requestURL = 'https://www.google.com/recaptcha/api/siteverify?' . $params_string;

    // Get cURL resource
    $curl = curl_init();

    // Set some options
    curl_setopt_array($curl, array(
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_URL => $requestURL,
    ));

    // Send the request
    $response = curl_exec($curl);
    // Close request to clear up some resources
    curl_close($curl);

    $response = @json_decode($response, true);

    if ($response["success"] == true) {
        echo '<h3 class="alert alert-success">Login Successful</h3>';
    } else {
        echo '<h3 class="alert alert-danger">Login failed</h3>';
    }
}

Я пробовал этот код на PHP в своем файле mailer.php, но он не работает.

Так что теперь я предполагаю, что это проблема HTTPS?

...