【问题标题】:Where does CodeIgniter Retrieve Session Data From?CodeIgniter 从哪里检索会话数据?
【发布时间】:2014-05-04 03:51:52
【问题描述】:

我正在使用 CodeIgniter 将会话数据保存在数据库中,但我注意到 CI 还在客户端保存了一些会话信息。如果我需要一个安全的last_activity 时间戳,我怎么知道 CI 正在从数据库中检索一个安全的而不是来自客户端的那个不安全的? 是否匹配last_activity 时间戳以检查有效性?

【问题讨论】:

  • 那么你到底在做什么,一些代码示例会有所帮助。
  • @Welling 代码在这里无关紧要,如果您阅读了这个问题,您就会明白我在问什么,它实际上与确切的代码无关。
  • 这可能会对您有所帮助:stackoverflow.com/questions/14464104/…

标签: php mysql codeigniter timestamp


【解决方案1】:

我的错,如果你不仔细阅读就会发生这种情况。

答案是YES,是否必须两者都匹配。

这是来自 CodeIgniter 文档,

当会话数据在数据库中可用时,每次在用户的 cookie 中找到有效会话时,都会执行数据库查询以匹配它。如果会话 ID 不匹配,则会话被销毁。会话 ID 永远无法更新,只能在创建新会话时生成。

所以这意味着是的,它进行了匹配。

从 GitHub (stable 2.1) 你可以看看这里的数据库匹配过程:

https://github.com/EllisLab/CodeIgniter/blob/2.1-stable/system/libraries/Session.php#L135

【讨论】:

  • 感谢您出于安全考虑提出的问题。
猜你喜欢
  • 1970-01-01
  • 2014-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多