Las cookies de doble envío son vulnerables a la inyección de cookies desde el mismo dominio. ¿Qué sucede si uso un encabezado personalizado en lugar de una cookie?
Ejemplo de solicitud HTTP:
header X-CSRF-PROTECTION = 5a445s66gg54s45a54
POST X-CSRF-PROTECTION = 5a445s66gg54s45a54, param1=aaa....
¿No es eso más seguro?
Editar: ok, estaba confundido, gracias a Anders ahora tengo una idea más clara.
Me gustaría evitar poner campos de formulario ocultos, pero quiero proporcionar una protección decente.
-
Siempre uso la interacción basada en json ajax
-
Siempre compruebo que el tipo de contenido es 'application / json "
Entonces, lo que propuse antes no agrega seguridad.
Yo podría:
-
almacene en el momento de inicio de sesión un token aleatorio en SESSION y como COOKIE
-
cada solicitud de ajax, debe leer la cookie y establecerla como encabezado de solicitud
-
el servidor puede comparar el encabezado con el valor de la sesión
¿En qué piensas?