在我深入实施之前,我有一个关于 cookie 安全性的快速问题,我想由 stackoverflow 社区运行。这将是我第一次在网站上实现用户登录,我希望对安全性非常谨慎,以免担心帐户被盗用。
这是我假设的安全解决方案:
- 用户注册站点(通过电子邮件注册、使用 Facebook 登录等)并分配一个用户 ID 号。此号码是公开的,可用于访问用户的个人资料、在帖子中引用他们等等。
- 在注册时,用户还会被分配一个随机生成的 ROWID,因为他们的信息存储在数据库中(托管在 Google Fusion Tables 上)。这个 ROWID 号码对用户是隐藏的,永远不会被泄露。
- 用户 ID 已根据 ROWID 编号加密,并且该编号存储在用户计算机上的 cookie 中。它对其他用户是不可见的,理论上,这只能由用户查看。
此解决方案将允许使用“秘密”密钥(ROWID 编号)、“消费者”密钥(保存在 cookie 中)和公共参考 ID(用户 ID)。当然,所有这些都汇总到一个数据库中,站点可以在该数据库中快速访问它们。这听起来像是一个可以提供适当安全级别的计划,还是我应该考虑其他一些事情?