【问题标题】:SESSION ID: Why does it need to be updated?SESSION ID:为什么需要更新?
【发布时间】:2012-02-24 12:24:00
【问题描述】:

我只是好奇。我见过一些方法正在更新会话 ID。我知道会话的重要性,但我不明白为什么我们要更新会话 ID。

在 CodeIgniter(PHP 框架)中,会话 ID 默认每 5 分钟更新一次。这是我们在这里谈论的安全问题吗?只是想知道。感谢回答的人! :)

【问题讨论】:

标签: php codeigniter session


【解决方案1】:

它必须经常更新。

假设您登录了某个在线烘焙网站。当然,您的会话有一个唯一的会话 ID。但是,如果它不经常更新,有人可能会使用一些 XSS 技巧获取您的会话 ID,将您的会话 ID 插入他的浏览器并噗!他已使用您的凭据登录!

并且服务器永远不会知道访问该站点的不再是您,因为他使用了您自己的会话 ID。

http://en.wikipedia.org/wiki/Session_hijacking

【讨论】:

  • 这其实是我一开始的想法。感谢您的验证。 :)
【解决方案2】:

主要原因是为了防止会话劫持。此维基百科article 中列出了劫持会话的方法。致prevent session fixation,这篇文章不错。

通过经常刷新会话 ID,任何被盗的会话 ID 对攻击者来说都不是很有用。在您的示例中,可能需要 5 分钟以上的时间来窃取会话 id,之后,它已经过期了,它是无用的。

通过窃取您的会话 ID,攻击者会冒充您的身份,并可以执行您被允许执行的任何操作。

【讨论】:

    【解决方案3】:

    重新生成会话 ID 的原因之一是防止会话劫持。

    会话劫持是指黑客知道用户的会话 ID, 并用它来假装他是那个用户。

    查看PHP Security guide了解更多详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-01
      • 2019-08-26
      • 2013-08-17
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      相关资源
      最近更新 更多