De acuerdo con Hoja de trucos para la prevención de sitios cruzados (CSRF) , el La solución recomendada para proteger el sitio web de los ataques CSRF es implementar el Patrón de token del sincronizador. Y esto requiere que el token sea aleatorio o único.
Y recientemente, estamos tratando de aplicar esto a nuestro sitio web. Y una de mis universidades quiere generar el token cifrando la identificación del usuario de inicio de sesión actual concatenando una marca de tiempo con una contraseña guardada de forma segura. Y luego agregue el token en el formulario.
Cuando el usuario inicia sesión, configuramos una cookie de identificación de usuario registrada en nuestro dominio del sitio y la ruta raíz /. Entonces, si podemos encontrar esta cookie especial, obtendremos la identificación del usuario que ha iniciado sesión.
Cuando recibimos el token, intentamos descifrarlo para obtener una identificación de usuario y una marca de tiempo. Luego, comparamos la identificación del usuario con la identificación del usuario de inicio de sesión actual y utilizamos las marcas de tiempo para verificar si los tiempos de espera del token.
Entonces, quiero saber si esto funciona y cuáles son los pros y los contras.
La razón por la que intentamos hacer esto es porque intentamos evitar las sesiones. Algunos marcos como Struts2 tienen implementaciones integradas basadas en sesiones.