【问题标题】:node user authentication with cookie使用 cookie 进行节点用户身份验证
【发布时间】:2015-02-21 02:06:14
【问题描述】:

我将编写一个负责用户身份验证的服务器 api。根据我的有限知识和理解,当用户使用用户名和密码登录时,将创建会话,并且使用用户名的身份验证 cookie 将保存到 cookie 中。当用户请求下一页时,cookie中的用户信息将发送到服务器,服务器将识别它。所以我的问题是如果另一个人手动复制现有的 cookie 信息并在另一台计算机的浏览器中创建相同的 cookie 怎么办?它会跳过登录阶段吗?谁能详细解释如何详细防止这种情况?谢谢

【问题讨论】:

    标签: node.js authentication session-cookies passport.js


    【解决方案1】:

    是的,它很可能会跳过登录阶段。您所描述的是一种会话劫持或 cookie 劫持。通过未加密的连接(即 HTTP 而不是 HTTPS)使用 cookie 不是一个安全的解决方案,因为任何人都可以窃取和使用相同的 cookie,这通常足以获得完全访问权限而无需进行身份验证。 (它可能——尽管通常不会——变得更难利用,但并非不可能。)

    很快就没有理由不使用 HTTPS(详情请参阅my answer to other question)。

    除了确保没有人可以读取 cookie(使用 HTTPS 和HttpOnly)之外,您还必须确保没有人可以猜测会话 ID(例如,它不能是连续的或小的数字或任何东西像那样)。

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-24
      • 2018-01-06
      • 2019-03-16
      • 2013-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-02
      相关资源
      最近更新 更多