Foros del Web » Programando para Internet » Javascript »

Problema con captcha

Estas en el tema de Problema con captcha en el foro de Javascript en Foros del Web. Hola a todos. Mi problema es tonto y simple pero despúes de dos días en este, me siento deseperado. Estoy implementando un captcha en un ...
  #1 (permalink)  
Antiguo 02/08/2010, 19:15
 
Fecha de Ingreso: abril-2010
Mensajes: 17
Antigüedad: 14 años, 7 meses
Puntos: 0
Pregunta Problema con captcha

Hola a todos.

Mi problema es tonto y simple pero despúes de dos días en este, me siento deseperado.

Estoy implementando un captcha en un formulario html. Específicamente estoy usando el captcha de [URL="http://www.captcha.fr/index.php?langue=en&PHPSESSID=b053f4f4884e6590d79c 3789247dc09f"]cryptographp[/URL] pero puedo usar cualquier otro... mi problema no es el tipo de captcha sino el modo en que lo estoy usando.

Puesto que no me gusta validar el captcha despues de hacer submit al formulario, decidí emerger un [URL="http://iaian7.com/webcode/mediaboxAdvanced"]lightbox[/URL] con el captcha al momento en que el usuario "envia" los datos del formulario. Si el usuario digita mal el código del captcha, el lightbox mostrará una advertencia y recargará el captcha. Si lo hace bien, lo que debería suceder es que se cierre el lightbox y se haga submit al form abierto y diligenciado.

Este es el código del action del captcha:
Código PHP:
<?php 
$cryptinstall
="../contactus/crypt/cryptographp.fct.php";
include 
$cryptinstall
if (
chk_crypt($_POST['code'])){
    echo 
"<script language='JavaScript'>parent.ppal_frame.email_frame.validate.submit();parent.parent.Mediabox.close()</script>" ;
    }else{ echo 
"<script language='JavaScript'>alert('La clave anti-spam ingresada no es correcta. Por favor verifique y vuelva a intentarlo.');window.location.href='http://www.misitioweb.com/contactus/verifier.php'</script>" ;
}
?>
Esto me funcionó muy bien en IE8 pero no me funciona en firefox 3.6.

Alguien puede explicarme como lo puedo solucionar?

Muchas gracias
  #2 (permalink)  
Antiguo 02/08/2010, 19:23
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Problema con captcha

la idea es que el valor del captcha se envié junto a la data del formulario, no por separado, precisamente para verificar la veracidad de "humanidad" que envía el formulario, si envió primero el capctha por ajax y luego de confirmar envías el form, un hack robot simplemente enviaría el form y olvídate del captcha, es como pretender enviar primero el token CSRF, totalmente inútil.
  #3 (permalink)  
Antiguo 02/08/2010, 20:12
 
Fecha de Ingreso: abril-2010
Mensajes: 17
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problema con captcha

Cita:
Iniciado por maycolalvarez Ver Mensaje
la idea es que el valor del captcha se envié junto a la data del formulario, no por separado, precisamente para verificar la veracidad de "humanidad" que envía el formulario, si envió primero el capctha por ajax y luego de confirmar envías el form, un hack robot simplemente enviaría el form y olvídate del captcha, es como pretender enviar primero el token CSRF, totalmente inútil.
Entiendo. Pero el asunto con el captcha anexo al form es que si el usuario no lo digita bien, pierdo los datos ya ingresados cuando intento regresar al form y eso es de lo mas incómodo para el usuario.

Debo mencionar que el form que tengo trabaja con el método POST y no está conectado a una base de datos.

Entonces que alternativa puedes darme?

Muchas gracias
  #4 (permalink)  
Antiguo 03/08/2010, 08:28
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Problema con captcha

Tendrías que guardar los datos post en variables de sesión para que el usuario no tenga que reescribirlos, pero es tal como te indicaron: es absurdo validar un captcha fuera del servidor.
  #5 (permalink)  
Antiguo 03/08/2010, 12:28
 
Fecha de Ingreso: abril-2010
Mensajes: 17
Antigüedad: 14 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Problema con captcha

Cita:
Iniciado por Panino5001 Ver Mensaje
Tendrías que guardar los datos post en variables de sesión para que el usuario no tenga que reescribirlos, pero es tal como te indicaron: es absurdo validar un captcha fuera del servidor.
Bien... me ha quedado claro que no debo usar el captcha fuera del form pero oviamente no tengo idea a que te refieres con "guardar los datos post en variables de sesión"

Te agradecería que me des una mano con esto. Por el momento voy a google a buscar algo del tema.

Mil gracias.
  #6 (permalink)  
Antiguo 03/08/2010, 13:29
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Problema con captcha

es simple, cuando envías el form, el server recibe todos los datos, incluyendo el captcha, si resulta que el captcha no pasó, me imagino que vuelves a mostrar el formulario, el detalle ahí es que al momento de generarlo, tengas en cuenta que pudo fallar la validación, volcando los valores enviados al formulario, ejemplo en php:

Código PHP:
Ver original
  1. <input type="text" name="nombre" value="<?php echo $_POST['nombre'] ?>" />
  2. <input type="text" name="captcha" value="" />

la primera vez, como no hay datos post, el campo saldrá vació, pero la próxima, si el captcha falla, tendrás los valores introducidos por el usuario.

NOTA: no funciona con re-dirección desde el servidor, al menos que lo almacenes en sesión
  #7 (permalink)  
Antiguo 04/08/2010, 12:38
 
Fecha de Ingreso: abril-2010
Mensajes: 17
Antigüedad: 14 años, 7 meses
Puntos: 0
Sonrisa Respuesta: Problema con captcha

Exclente!!!

Voy a implementarlo.

Muchas gracias por su ayuda.
  #8 (permalink)  
Antiguo 05/08/2010, 12:54
 
Fecha de Ingreso: abril-2010
Mensajes: 17
Antigüedad: 14 años, 7 meses
Puntos: 0
Sonrisa Respuesta: Problema con captcha

Hola...

Quedo listo... segui tus instrucciones usando el session_start() de php y logre montar el formulario con el captcha que quería y sin perder datos.

Muchas gracias por su ayuda.

Etiquetas: captcha, lightbox, php, 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 09:33.