0 votos
por (80 puntos) en PHP
Ayuda con mi captcha

En el siguiente codigo el valor del response siempre de devuelve false, verifique mis keys y estan correctas pero no regresa true, siendo que se responde correctamente el captcha

<?php

    if (isset($_POST['username'])) {

        $username = $_POST['username'];

       $secret = "mi llave secreta";

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

        $ip = $_SERVER['REMOTE_ADDR'];

$url = "https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$response&remoteip=$ip";

$response = file_get_contents($url);

        $response = json_decode($response);

if ($response->success){

echo "Verification success. Your name is: $username";

}

else{

echo "Verification failed!";

}

}

?>

<html>

    <head>

    <title>captcha</title>

    </head>

    <body>

        <form action="contacto.php" method="post">

            <input type="text" name="username" placeholder="Nombre">

            <input type="submit" name="submit" value="Enviar">

            <div class="g-recaptcha" data-sitekey="mi llave de sitio verificada"></div>

        </form>

        <script src='https://www.google.com/recaptcha/api.js'></script>

    </body>

</html>

1 Respuesta

0 votos
por (1.8k puntos)

Hola @kaisherk,

  Se me ocurre que los espacios en blanco dentro de $secret pueden ser un problema.

  Intenta armar la url de esta forma:

$url = urlencode("https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$response&remoteip=$ip");

Saludos,

Preguntas relacionadas

0 votos
1 respuesta
0 votos
0 respuestas
0 votos
1 respuesta
preguntado por Joanma (20 puntos) May 24, 2019 en C/C++
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...