Tengo un sitio web (hobby) que solo se ejecuta en SSL. El sitio no se ocupa de las finanzas, los números de seguridad social o cualquier cosa de ese nivel de importancia. Sin embargo, me gustaría asegurarlo tanto como sea razonablemente posible. Las cookies están marcadas como seguras y httponly. Las contraseñas se almacenan en el lado del servidor utilizando bcrypt.
Estoy intentando implementar "recordarme" para aquellos usuarios que quieran usarlo. Examinando este sitio, sé que no desea almacenar una contraseña en una cookie; más bien, desea almacenar un "token" que permita un uso no crítico, pero luego solicite la contraseña real para acciones críticas (por ejemplo, cambiar la contraseña).
En lugar de generar aleatoriamente un token, luego crear una base de datos (u otro método) de coincidencia, ¿es demasiado inseguro utilizar el sal generado aleatoriamente de bcrypt como el token en la cookie?
Las ventajas son:
- Se genera al hashear la contraseña, por lo que no hay costo o código adicional
- Almacenado con contraseña, por lo que puede encontrar y hacer coincidir según sea necesario
- Único
Las desventajas pueden ser:
- El token no cambia de sesión a sesión
Si la cookie es robada de alguna manera, solo permite el acceso no crítico al sitio. Es decir, no revela la contraseña real, la contraseña no se puede cambiar, el correo electrónico asociado con la cuenta no se puede cambiar.
¿Estoy pasando por alto algo serio en el esquema anterior?