使用cookie进行节点用户authentication

我将写一个负责用户身份validation的服务器API。 从我的极限知识和理解来看,当用户使用用户名和密码login时,会话将被创build,并且使用用户名的auth cookie将被保存到cookie中。 当用户请求下一页时,cookie中的用户信息将发送到服务器,服务器将识别它。 所以我的问题是如果另一个人手动复制现有的cookie信息,并在另一台计算机的浏览器中创build相同的cookie? 它会跳过login阶段吗? 任何人都可以详细解释如何防止这个细节? 谢谢

是的,它很可能会跳过login阶段。 您所描述的是会话劫持或cookie劫持的一种forms。 通过未encryption的连接(即HTTP而不是HTTPS)使用cookie不是一个安全的解决scheme,因为任何人都可以窃取和使用相同的cookie,通常这足以获得完全访问权限而无需进行身份validation。 (可以 – 虽然通常不是 – 更难以利用,但并非不可能。)

很快就会有没有理由不使用HTTPS(请参阅我对其他问题的答案了解详情)。

除了确保没有人能够读取cookie(使用HTTPS和HttpOnly ),您还必须确保没有人能够猜出会话ID(例如,它不能是连续或小数字或类似的数字)。

也可以看看:

  • 会话劫持维基百科
  • 会话劫持 OWASP
  • 会话固定在维基百科
  • 会议固定在OWASP
  • 会议骑行 (XSRF,CSRF)