使用更多cookie而不仅仅是会话哈希进行身份验证的原因?

die*_*rre 7 php security authentication spoofing session-cookies

我经常在一个使用公告板软件的社区闲逛.

我在浏览器中查看此软件保存为cookie的内容.

如您所见,它可以节省6个cookie.其中,我认为对认证很重要的是:

  1. ngisessionhash:当前会话的哈希值
  2. ngipassword:密码的哈希(可能不是普通密码)
  3. ngiuserid:用户的ID

那些是我的假设.我不确定是否使用了ngilastactivityngilastvisit是出于同样的原因.

我的问题是:为什么要使用所有这些cookie进行身份验证?我的猜测是,生成一个会话哈希可能很容易,所以使用hashedpassword和userid增加安全性,但cookie欺骗呢?我基本上是在客户端留下所有基本信息.

你怎么看?

更新#1

这些cookie的内容是我认为它们包含的内容.我不确定.当然如果调用cookie ngivbpassword并包含一个哈希,我的猜测是hashedpassword.可能它可能是密码+盐.

我主要担心的是这些解决方案在cookie欺骗攻击下提供了大量信息.

更新#2 这个问题不想批评这些特定软件的工作方式,但是,我希望这些答案只是为了了解更多关于在Web环境中保护软件的知识.

m_v*_*aly 2

发生这种情况是因为会话 cookie 和登录 cookie 可能具有不同的生命周期。

想象一下每天有数百万用户的网站。该网站不会将您的会话存储一年,只是为了在您下次返回时重新登录。他们为此使用登录cookie。

这些 cookie 也称为“记住我”cookie。

  • 基本上你所说的是:我检查会话,如果会话过期,那么我检查散列密码和你的用户ID。如果它们匹配我的系统将登录您。 (2认同)
  • 最安全的方法是使 cookie 完全随机,限制其路径,使用 HTTPS 并对 IP 地址和其他参数执行一些服务器端安全检查。 (2认同)