Foros del Web » Programando para Internet » Javascript »

Validar captcha con javascript

Estas en el tema de Validar captcha con javascript en el foro de Javascript en Foros del Web. Buenas, Hace un tiempo pregunté la posibilidad de validar un captcha con Javascript, pero las respuestas que encontré fueron que era bastante inseguro http://www.forosdelweb.com/f13/puede...script-674661/ Sin ...
  #1 (permalink)  
Antiguo 27/09/2010, 05:19
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Validar captcha con javascript

Buenas,

Hace un tiempo pregunté la posibilidad de validar un captcha con Javascript, pero las respuestas que encontré fueron que era bastante inseguro

http://www.forosdelweb.com/f13/puede...script-674661/

Sin embargo, hoy he vuelto a mirar el tema del captcha y he descubierto esta validación.

http://jquery.bassistance.de/validate/demo/captcha/

¿Os parece segura o creéis que es igual de vulnerable al ser javascript?

Muchas gracias de antemano!

Última edición por neodani; 27/09/2010 a las 05:36
  #2 (permalink)  
Antiguo 27/09/2010, 09:49
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Validar captcha con javascript

en realidad lo que hace es enviar un AJAX, por lo tanto se valida en el servidor.

pero ¿te parece seguro enviar un ajax para validar el captcha y después reenviar otra vez los datos para volverlos a validar?: el punto es que debes enviar los datos junto con lo que el usuario escribió en el captcha, de modo que garantices la "humanidad" del usuario que envió dichos datos, es ilógico por ejemplo: validar el captcha primero, almacenar si es válido en un input hidden y después enviar los datos, porque con firebug por ejemplo puedo cambiar el value de dicho input por true y ¡ adiós captcha !, hasta con el mismo js lo puedo hacer y no digamos un bot!

por otro lado si envío el catcha por ajax y marco desde el servidor que el token del form está "validado por captcha" (tendría que enviar el token junto al captcha), ya el token no me sirve, tendría que generar otro, porque de lo contrario corro el riesgo se suplantación de mi token, y si uso sesiones: que me roben mi cookie por XSS.

así que lo mejor y más eficiente es validar el captcha desde el servidor, enviándolo junto el form completo, si son muchos forms, puedo validar en el login con catcha solo la primera vez, o si el numero de post es superior a cierta cantidad, suerte
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 27/09/2010, 13:49
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Validar captcha con javascript

Cita:
Iniciado por maycolalvarez Ver Mensaje
en realidad lo que hace es enviar un AJAX, por lo tanto se valida en el servidor.

pero ¿te parece seguro enviar un ajax para validar el captcha y después reenviar otra vez los datos para volverlos a validar?: el punto es que debes enviar los datos junto con lo que el usuario escribió en el captcha, de modo que garantices la "humanidad" del usuario que envió dichos datos, es ilógico por ejemplo: validar el captcha primero, almacenar si es válido en un input hidden y después enviar los datos, porque con firebug por ejemplo puedo cambiar el value de dicho input por true y ¡ adiós captcha !, hasta con el mismo js lo puedo hacer y no digamos un bot!

por otro lado si envío el catcha por ajax y marco desde el servidor que el token del form está "validado por captcha" (tendría que enviar el token junto al captcha), ya el token no me sirve, tendría que generar otro, porque de lo contrario corro el riesgo se suplantación de mi token, y si uso sesiones: que me roben mi cookie por XSS.

así que lo mejor y más eficiente es validar el captcha desde el servidor, enviándolo junto el form completo, si son muchos forms, puedo validar en el login con catcha solo la primera vez, o si el numero de post es superior a cierta cantidad, suerte
Lo que quería evitar era tener que validar el captcha en el servidor, porque esto me provoca que tengo que recordar todos los valores que ha introducido el usuario, y si bien es fácil para los campos inputs guardarlos en variables de session, hay campos selects con más de 200 campos que resulta "complicado" imprimir dichos valores con la opción seleccionada por el usuario (no imposible, pero más complicado que los campos input).

Por que con JS no hay ninguna forma rápida de no perder estos datos al enviar el formulario y comprobar por ej. que el captcha recibido no es válido, y retornar otra vez el formulario pero rellenado con las opciones que ha marcado el usuario?

Muchas gracias de antemano!

Etiquetas: captcha
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 01:05.