我读过 Why does codeigniter store its sessiondata in a cookie?
我仍然不明白为什么Codeigniter需要在会话cookie中存储IP,用户代理和最后一个活动。会话ID不是它应该存储在cookie中的唯一变量。我的Web应用程序将会话数据存储在数据库中 - 为什么这些数据仍然存储在cookie中。此外,Codeigniter不应该从$ _SERVER var?
获取IP和用户代理有人可以澄清一下吗?我还阅读了关于Sessions http://codeigniter.com/user_guide/libraries/sessions.html的CI文档,它说我的自定义会话数据也会保存在cookie中,但似乎情况并非如此。为什么呢?
答案 0 :(得分:0)
我想到的唯一原因是安全性。如果有人偷了你的cookie并尝试自己登录,那么他有可能没有相同的IP和用户代理。在这种情况下,CodeIgniter会检测到可能的入侵并终止会话。
关于cookie中的会话数据,它取决于您告诉CodeIgniter关于存储位置/方式的内容。它可以在数据库中,也可以在加密形式的cookie中,或者只是在cookie中的纯文本(序列化)中。