[pyar] [Django] Problema con forms

Mariano Garcia Berrotarán garcia.berrotaran en gmail.com
Lun Sep 30 19:32:46 ART 2013


2013/9/30 Julian Waksberg <juwaks en gmail.com>:
> Alguien sabría decirme que función cumple el csrf_token ?

CSRF quiere decir Cross Site Request Forgery
(https://en.wikipedia.org/wiki/Cross-site_request_forgery). O sea,
falsificación de request entre sitios.

Supongamos que quiero que hagas spam por mi porque soy una mala persona.
Entonces en mi pagina hago un formulario que parece un login pero en
realidad el action va a http://hotmail.com/mail-nuevo/ con todos los
campos listos para que cuando apretes "send" se mande un monton de
mails desde tu cuenta vendiendo viagra y contando el final de breaking
bad.

Para evitar eso, cada vez que generas un formulario, tambien generas
un token valido para ese formulario en esa sesión. Cada vez que haces
submit de un formulario, mandas el token para chequearlo cuando
recibis el request. Entonces mi tecnica de mandar spam ya no sirve,
porque me seria muy dificil adivinar ese token.

Vos estabas generando el token, y chequeandolo, pero nunca
imprimiendolo, asi que te fallaba el chequeo. Si te pones a ver el
codigo de fuente de tu pagina vas a ver que hay un input con el type
"hidden" y un hash de valor, ese es el CSRF token.

Saludos!


More information about the pyar mailing list