2010-09-27 16 views
23

¿Alguien puede confirmar esto? ¿Necesito proporcionar un token CSRF y un Captcha en un formulario de envío, o los dos más o menos prestan la misma función (uno puede usarse en lugar del otro)?¿Se necesitan tanto tokens csrf como captcha?

+0

Esta es una buena pregunta, se trata de los fundamentos de lo que es CSRF. – rook

Respuesta

21

Se puede usar un captcha en lugar de un token CSRF. Esto está cubierto en el OWASP CSRF Prevention Guide. Se considera que un Captcha es una forma más sólida de prevención de CSRF que un control de token o referer porque no se puede eludir con XSS.

+0

+1. Solo ** necesita ** un token CSRF si no muestra una imagen Captch en un formulario (por ejemplo, si permite que los usuarios que inician sesión se envíen sin necesidad de captcha) ... – ircmaxell

+0

@ircmaxell bien sí, pensé que era implícito. – rook

+0

excelente información, gracias a todos los que respondieron y comentaron. – jblue

0

Sí, estaba equivocado. Tanto el captcha como el token están ligados a la sesión.

Sin embargo, todavía no veo mucho sentido en esta pregunta.
No puede usar CAPTCHA para cada formulario del sitio. Va a volver locos a los usuarios.
Por lo tanto, ¿por qué no tener un token para cada formulario por defecto y CAPTCHA para los seleccionados?

+2

Requerir entrada de usuario interactiva previene XSRF; Debido a que los captchas requieren la entrada interactiva del usuario, se pueden usar para evitar XSRF, al igual que los tokens. – erickson

Cuestiones relacionadas