我有一个仅在 SSL 上运行的(爱好)网站。该网站不涉及财务、社会安全号码或任何具有同等重要性的内容。但是,我想尽可能合理地保护它。Cookie 被标记为安全和 httponly。密码使用 bcrypt 存储在服务器端。
我正在尝试为那些想要使用它的用户实现“记住我”。仔细阅读这个网站,我知道您不想在 cookie 中存储密码;相反,您希望存储一个允许非关键使用的“令牌”,但随后提示输入关键操作的实际密码(例如,更改密码)。
而不是随机生成一个令牌,然后创建一些匹配的数据库(或其他方法),使用从 bcrypt 随机生成的盐作为 cookie 中的令牌是否太不安全?
优点是:
- 在对密码进行哈希处理时生成,因此无需额外费用或代码
- 与密码一起存储,因此可以根据需要查找和匹配
- 独特的
缺点可能是:
- 令牌不会从会话更改为会话
如果 cookie 以某种方式被盗,它只允许对站点进行非关键访问。也就是说,它不会显示实际密码,密码不能更改,与帐户关联的电子邮件也不能更改。
我是否忽略了上述方案中的任何严重问题?