CSRF en la página de inicio de sesión

5

Tengo un token CSRF en la página de inicio de sesión, que funciona como se esperaba. Entonces, cuando el usuario tiene la página de inicio de sesión abierta durante mucho tiempo (el token ha caducado en segundo plano). Cuando ingresan sus credenciales de inicio de sesión correctamente, les dice que la acción no es válida porque el token ha caducado y los redirige a la página de inicio de sesión, donde ahora pueden ingresar con éxito.

Creo que el comportamiento es el esperado, porque el token CSRF se ha vuelto obsoleto y una acción explícita ha buscado el token correcto. Los usuarios lo odian porque necesitan ingresar la información de inicio de sesión dos veces.

¿Algún consejo? Esto parece ser un problema muy común con CSRF en una página de inicio de sesión que permanece ahí por mucho tiempo ...

Gracias y aprecio cualquier ayuda.

    
pregunta Mulder 25.03.2016 - 00:49
fuente

1 respuesta

3

Opción 1) Haga que el inicio de sesión sea una operación de dos páginas. Nombre de usuario en la primera página, contraseña en la siguiente. No es necesario tener protección CSRF en la página de nombre de usuario. Los usuarios entenderán un tiempo de espera en la página de contraseña.

Opción 2) Tener algún JavaScript que muestre una cuenta regresiva si la página está abierta demasiado tiempo. Si se agota el tiempo de espera, deshabilite el formulario de inicio de sesión y ponga un aviso para que el usuario se actualice antes de continuar.

    
respondido por el Neil Smithline 25.03.2016 - 05:09
fuente

Lea otras preguntas en las etiquetas