【问题标题】:Is there a security risk when changing the timeout of the session cookie?更改会话 cookie 的超时时间时是否存在安全风险?
【发布时间】:2013-01-11 23:07:48
【问题描述】:

假设我有一个金字塔应用程序,其中我使用UnencryptedCookieSessionFactoryConfig 作为 csrf 令牌并使用SessionAuthenticationPolicy 进行身份验证。 session cookie 的默认超时时间是 1200,这意味着我的用户在 20 分钟后断开连接,这很烦人。

我很想提高超时甚至删除它,并设置一个 max_age 以使其在浏览器中存活,但我想超时是有充分理由的。

拥有长期会话 cookie 是否存在安全风险?这被认为是不好的做法吗?

我的猜测是 csrf 令牌应该是短暂的。在这种情况下,我应该使用AuthTktAuthenticationPolicy 进行身份验证。同样的问题:在未来使用 max_age 的身份验证 cookie 是不是一种不好的做法?

【问题讨论】:

    标签: python security session pyramid


    【解决方案1】:

    请注意,超时仅适用于在此期间未联系服务器的用户。在 20 分钟内访问您的网站会刷新 cookie。

    是的,允许更长的 cookie 超时存在安全风险;它会创建一个更长的窗口来破坏客户端计算机或尝试利用应用程序中的 XSS 漏洞。我仍然会为 cookie 设置 a 限制。

    无论如何,我都会使用AuthTktAuthenticationPolicy 来管理用户身份验证会话;它提供了对会话生命周期的更细粒度的控制(参见older answer of mine)。

    您甚至可以编写一小段 javascript,当用户处于活动状态时(键盘和鼠标输入,例如每分钟一次)定期戳服务器以刷新该 cookie;关闭浏览器,会话在 20 分钟内自动结束。

    【讨论】:

      猜你喜欢
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 2016-09-25
      • 2013-05-03
      • 1970-01-01
      • 2010-10-26
      • 2015-08-05
      相关资源
      最近更新 更多