reCAPTCHA работает на локальном хосте, но не на моем хостинге - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь использовать reCAPTCHA, и он работает на локальном хосте, но когда я публикую сайт на моем хосте, он не работает.Это мой кодЯ думал, что, поскольку это не https, он не работает, но localhost тоже не ssl и работает, поэтому я не знаю, что происходит.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src='https://www.google.com/recaptcha/api.js'></script>
</head>
<body>
    <form action="formulario.php" method="post">
        <input name="name" placeholder="Nombre"/>
        <input name="email" placeholder="Email"/>
        <div class="g-recaptcha" data-sitekey="MY-API-KEY"></div>
        <button type="submit" name="submit">Enviar</button>
    </form>
    </body>
</html>

<?php
    $name = stripslashes($_POST["name"]);
    $email = stripslashes($_POST["email"]);

    $recaptcha = $_POST["g-recaptcha-response"];

    $url = 'https://www.google.com/recaptcha/api/siteverify';
    $data = array(
        'secret' => 'MY-SECRET-KEY',
        'response' => $recaptcha,
        ‘remoteip’ => $_SERVER[‘HTTP_CLIENT_IP’]
    );
    $options = array(
        'http' => array (
            'method' => 'POST',
            'content' => http_build_query($data)
        )
    );
    $context  = stream_context_create($options);
    $verify = file_get_contents($url, false, $context);
    $captcha_success = json_decode($verify);
    if ($captcha_success->success) {
        // No eres un robot, continuamos con el envío del email
        // ...
        // ...
        echo "<h2>No eres un robot</h2>";
    } else {
        // Eres un robot!
        echo "<h2>Eres un robot!</h2>";
    }
?>
...