2015-01-31 45 views
0

我有一个网站有登录功能,并有一个“记住我”选项。在我的用户表中,我有一个128位随机令牌,我把它放在cookie中,然后用来查找用户。我应该从cookie填充会话变量吗?

我将使用一个“LoggedInUser”,它是我的“User”类的一个实例,它将填充数据库查找,以便我可以检索用户的用户名,ID和其他信息。现在假设用户有一个cookie,我应该简单地使用cookie值执行用户查找,还是应该将该令牌存储在会话中并使用该值执行查找?这里主要的担心是安全性和性能,IE更安全,并且加载时间更短?

+1

不要重新认证系统。使用身份。 – CodeCaster 2015-01-31 19:07:44

回答

0

会话ID通常存储在cookie的 - 所以几乎没有任何安全上的差异是否你自己存储在ID的Cookie或使用SessionState的饼干。

相同的性能 - 在数据库查询的主要成本将垃圾桶,很明显,如果你做几个额外的步骤(添加/会话状态红色),这将是(可能不是可测量)更快。

注:

  • “随机”的会话状态产生通过大量的安全审查去了,希望你是一个好了。
  • 会话状态cookie不会被标记为“安全”时默认将通过HTTP发送过,显然你不会 - 所以定制cookie的好一点。
  • 会话状态可以配置Cookie的,你的情况你的方案是有点安全(因为你不能误份额的cookie,但网址很容易共享)。