Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Google reCaptcha siempre falla

Estas en el tema de Google reCaptcha siempre falla en el foro de PHP en Foros del Web. Buen día foristas, Una vez más recurro a uds. en busca de una solucion a mi problema, esta vez con el Google reCaptcha. He leido ...
  #1 (permalink)  
Antiguo 02/12/2015, 09:01
 
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 46
Antigüedad: 18 años, 1 mes
Puntos: 1
Google reCaptcha siempre falla

Buen día foristas,

Una vez más recurro a uds. en busca de una solucion a mi problema, esta vez con el Google reCaptcha. He leido todo lo que he podido y no he logrado hacerlo funcionar correctamente.

No importa lo que ponga siempre recibo la misma respuesta

reCAPTCHA said: incorrect-captcha-sol

Estoy 100% seguro de haber puesto las respuestas correctas así que a esta altura no se que puede estar mal.

El código que uso es el siguiente:


En el cliente (HTML):
Cita:

<form>
<table>
<tr>
<td>
...
</td>
</tr>
<td>
<div class="g-recaptcha" data-sitekey="MY_PUBLIC_KEY"></div>
</td>
...
</table>
</form>
En el servidor: (PHP)
Cita:
require_once('./recaptchalib.php');

$privatekey = "MY_PRIVATE_KEY";
$resp = null;
$resp = recaptcha_check_answer ($privatekey,$_SERVER["REMOTE_ADDR"],$_POST["recaptcha_challenge_field"],$_POST["recaptcha_response_field"]);

if (!$resp->is_valid) {

die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
"(reCAPTCHA said: " . $resp->error . ")");
} else {
echo "Captcha OK";verification
}
He probado desactivar JS en el navegador ya que hago validacion de campos pero tampoco he tenido resultado.
Me he también asegurado de tener el tag form fuera de mi tabla y tambien me he asegurado de inicialilzar la variable $resp.
Pero nada de eso ha funcionado.

¿¿Que estoy haciendo mal??
  #2 (permalink)  
Antiguo 02/12/2015, 13:18
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Google reCaptcha siempre falla

Saludo.
Creo que en el html hace falta el llamado al js de la api.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 02/12/2015, 13:42
 
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 46
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: Google reCaptcha siempre falla

Cita:
Iniciado por mortiprogramador Ver Mensaje
Saludo.
Creo que en el html hace falta el llamado al js de la api.
Buen punto y gracias por la respuesta, :)
por desgracia si esta el llamado a la API de la siguiente manera:

<HEAD>
.....
....
<script src="https://apis.google.com/js/platform.js" async defer></script>
<script src='https://www.google.com/recaptcha/api.js'></script>
</HEAD>


Solo que me olvide de ponerlo en el codigo que mostre aqui en el foro.

Alguna otra idea? :(
  #4 (permalink)  
Antiguo 02/12/2015, 14:11
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Google reCaptcha siempre falla

Saludo.
Pues agregando esos js,
al hacer el submit, los valores que espera el php no le llegan,

Undefined index: recaptcha_challenge_field
Undefined index: recaptcha_response_field

Igualmente, al intentar con el plugin php.


Código HTML:
Ver original
  1.     <body> <!-- the body tag is required or the CAPTCHA may not show on some browsers -->
  2.       <!-- your HTML content -->
  3.  
  4.       <form method="post" action="verify.php">
  5.         <?php
  6.          require_once('recaptchalib.php');
  7.          $publickey = "your_public_key"; // you got this from the signup page
  8.          echo recaptcha_get_html($publickey);
  9.        ?>
  10.         <input type="submit" />
  11.       </form>
  12.  
  13.       <!-- more of your HTML content -->
  14.     </body>
  15.   </html>


En mi caso no está dibujando el campo del captcha, pero tal vez sea
porque lo estoy probando en local, intenta con ese código en el html
a ver sí funciona. De lo contrario, hacer uso de las funciones callback js
que menciona la api.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 02/12/2015 a las 14:54
  #5 (permalink)  
Antiguo 03/12/2015, 07:52
 
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 46
Antigüedad: 18 años, 1 mes
Puntos: 1
Respuesta: Google reCaptcha siempre falla

Evidentemente no le llegaban los valores por alguna razón, logré hacerlo funcionar cambiando el código del php por el siguiente:

Cita:
$error;
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=MY_PRIVATE_KEY&response=".$captc ha."&remoteip=".$_SERVER['REMOTE_ADDR']);

if($response.success==false){
$error=true;
}else{
$error=false;
}

Etiquetas: falla, google, html, recaptcha, siempre, tabla, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:43.