Foros del Web » Programando para Internet » PHP »

validación de recaptcha en la web

Estas en el tema de validación de recaptcha en la web en el foro de PHP en Foros del Web. Hola a todos. Estoy poniendo en mi web el servicio gratuito de recaptcha.net, todo aparece muy bien. pero no queda validado, osea, puedo enviar el ...
  #1 (permalink)  
Antiguo 16/04/2010, 16:14
 
Fecha de Ingreso: marzo-2010
Mensajes: 49
Antigüedad: 14 años
Puntos: 0
De acuerdo validación de recaptcha en la web

Hola a todos.

Estoy poniendo en mi web el servicio gratuito de recaptcha.net, todo aparece muy bien. pero no queda validado, osea, puedo enviar el formulario sin necesidad de digitar el codigo del recaptcha, o puedo escribirlo mal y aun asi envia el forumlario. ¿QUE HICE MAL?

primeramente el formulario lo tenia en html, luego al ingresar el todo el codigo del recaptcha.net tuve que guardarlo en php, en mi servidor subí el recaptchalib.php.

Pero no se valida el recaptchalib.php cuando ejecuto enviar formulario.

porque se da esto?, el codigo que tengo es:

Código PHP:
<?php

require_once('recaptchalib.php');

// Get a key from http://recaptcha.net/api/getkey
$publickey "************************";
$privatekey "************************";

# the response from reCAPTCHA
$resp null;
# the error code from reCAPTCHA, if any
$error null;

# was there a reCAPTCHA response?
if ($_POST["recaptcha_response_field"]) {
        
$resp recaptcha_check_answer ($privatekey,
                                        
$_SERVER["REMOTE_ADDR"],
                                        
$_POST["recaptcha_challenge_field"],
                                        
$_POST["recaptcha_response_field"]);

        if (
$resp->is_valid) {
                echo 
"You got it!";
        } else {
                
# set the error code so that we can display it
                
$error $resp->error;
        }
}
echo 
recaptcha_get_html($publickey$error);
?>
me podrian decir que tengo mal?

saludos a todos
  #2 (permalink)  
Antiguo 16/04/2010, 20:18
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: validación de recaptcha en la web

te registraste en la pagina paro obtener las claves?, recuerda que para generar el par de claves el mismo te indica si las asocias a un dominio en particular, si no, tienes la opción de que no lo valide y te sirvan para cualquier dominio.

no se si esta api use sockets, me imagino que sí, por ende tal librería debe estar activa en php, yo lo he probado en mi local con mucho éxito
  #3 (permalink)  
Antiguo 17/04/2010, 09:44
 
Fecha de Ingreso: marzo-2010
Mensajes: 49
Antigüedad: 14 años
Puntos: 0
De acuerdo Respuesta: validación de recaptcha en la web

si, me registre, tengo la clave privada y la publica, coloque en el servidor el recaptchalib.php. pero no se linkea con mi formulario, se comporta de manera separada: Me explicare de forma mas exetndidad.

yo primeramente ya habia terminado de hacer mi página de contacto en html, el cua se llamaba (CONTACTO.HTML) este ya formulario ya estaba validado y finalizado.- Quiero aclarar que este formulario en html, mandaba a llamar a un fichero .php para que ejecutara el formulario, osea mi formulario html tenia un "ACTION= ACTION.PHP"

Luego, me propuse insertar el "recaptcha" en mi formulario que ya estaba hecho en html. Pero observe que en html no funcionaba, asi que seleccione todo el .html y lo guarde en .PHP.

Ahora tengo el nuevo formuario extraido del html, y se llama "CONTACTO.PHP" el cual ya estaba validado desde que era html, tiene las propiedades del "recaptcha" dentro de este php. Y tambien tiene en el action del formulario "ACTION.PHP"

en conclusion mi formulario nuevo en php es =


Código PHP:
<form action=php/ACTION.PHP id=contactForm method=post name=contactForm>



<label for=name_first>Nombre:</label>
<input class="text required" id=nombre name=nombre value="" />
<label for=name_last>Empresa:</label>
<input class=text id=empresa name=empresa value="" />
<label for=email>E-mail:</label>
<input class="text required email" id=correo name=correo value="" />
<label for=phone>Teléfono:</label>
<input class="text required" id=telefono name=telefono value="" />
<label for=name_last>Pais:</label>
<input class="text required" id=pais name=pais value="" />


<label for=description></label>
<label><textarea class=required cols=30 id=mensaje name=mensaje rows=2></textarea></label>

<fieldset class=submit>

<?php

require_once('recaptchalib.php');

// Get a key from http://recaptcha.net/api/getkey
$publickey "*************************";
$privatekey "*************************";

# the response from reCAPTCHA
$resp null;
# the error code from reCAPTCHA, if any
$error null;

# was there a reCAPTCHA response?
if ($_POST["recaptcha_response_field"]) {
        
$resp recaptcha_check_answer ($privatekey,
                                        
$_SERVER["REMOTE_ADDR"],
                                        
$_POST["recaptcha_challenge_field"],
                                        
$_POST["recaptcha_response_field"]);

        if (
$resp->is_valid) {
                echo 
"You got it!";
        } else {
                
# set the error code so that we can display it
                
$error $resp->error;
        }
}
echo 
recaptcha_get_html($publickey$error);
?>

<input align=right class=submit name=submit type=submit value=Enviar /> //// (este submit ya esta validado y se conecta con ACTION=ACTION.PHP

</form>
  #4 (permalink)  
Antiguo 30/10/2010, 14:11
 
Fecha de Ingreso: julio-2009
Mensajes: 75
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: validación de recaptcha en la web

Hola mtpa.
Me ocurre exactamente lo mismo que a ti y no consigo encontrar por la red nada que me lo solucione.
¿Encontraste algo para resolver el problema?
__________________
Gracias de antemano por la ayuda.
Saludos.
Caminantejm.
  #5 (permalink)  
Antiguo 13/12/2010, 17:15
 
Fecha de Ingreso: octubre-2008
Mensajes: 9
Antigüedad: 15 años, 5 meses
Puntos: 0
Información Respuesta: validación de recaptcha en la web

Cita:
Iniciado por Caminantejm Ver Mensaje
Hola mtpa.
Me ocurre exactamente lo mismo que a ti y no consigo encontrar por la red nada que me lo solucione.
¿Encontraste algo para resolver el problema?
Hola...
si tienes el formulario ejemplo:

<table>
<form>
<tr>
<td></td>
</tr>
</form>
</table>

No te funcionará....

intenta:

<form>
<table>
<tr>
<td></td>
</tr>
</table>
</form>

En apariencia es un cambio irrisorio, pero fue ese detalle el que me saco canas por un par de días y así lo solucioné...

Salu2 y espero haberte sido de ayuda a ti y/o a cualquiera que tenga el mismo problem

Etiquetas: recaptcha, validar, formulario
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 05:38.