我正在使用CodeIgniter将会话数据保存在数据库中,但我注意到CI还在客户端保存了一些会话信息。如果我需要一个安全的last_activity
时间戳,我怎么知道CI正从数据库中检索一个安全的而不是客户端的那个?
它是否与last_activity
时间戳匹配以检查有效性?
答案 0 :(得分:1)
我的不好,那就是当你不仔细阅读时会发生的事情。
答案是是,是否必须与两者匹配。
这是来自CodeIgniter Docs,
当会话数据在数据库中可用时,每次在用户的cookie中找到有效会话时,都会执行数据库查询以匹配它。如果会话ID不匹配,则会话被销毁。会话ID永远不会更新,只能在创建新会话时生成。
所以这意味着是的,它确实匹配。
从GitHub(稳定版2.1),您可以在这里查看数据库匹配过程:
https://github.com/EllisLab/CodeIgniter/blob/2.1-stable/system/libraries/Session.php#L135