会话ID:为什么需要更新?

时间:2012-02-24 12:24:00

标签: php codeigniter session

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

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

3 个答案:

答案 0 :(得分:2)

它需要经常更新。

让我们说你登录了一些在线烘焙网站。当然,您的会话有唯一的会话ID。但是,如果不经常更新,有人可以使用一些XSS技巧获取您的会话ID,将您的会话ID插入他的浏览器和poof!他使用您的凭据登录!

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

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

答案 1 :(得分:0)

主要原因是防止会话劫持。劫持会话的方法列表在此维基百科article中。至prevent session fixation,本文很好。

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

通过窃取您的会话ID,攻击者会假定您的身份并执行您可以执行的任何操作。

答案 2 :(得分:0)

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

  

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

有关详细信息,请参阅此PHP Security guide