笨什么是存储在只有饼干会话数据的意义呢? [重复](Codeigniter what is th

2019-11-01 11:44发布

这个问题已经在这里有一个答案:

  • 为什么它sessiondata笨存储在cookie? 4个回答

所有CI用户都知道,在默认情况下会话存储在cookie中。

但究竟什么是这个实现的呢? 我实在无法找到一个很好的理由。

OK,在共享服务器的人可能获得有关客户端访问会话文件,但什么? 我可以改变cookie中的数据以及与作为一个“单向”的方法我怎么连验证在服务器端的会话cookie中的数据? 我觉得很奇怪,更何况该cookie可能会遇到的大小问题。

我知道数据库的方法,但如果我在完全控制的专用服务器什么的,我不希望浪费资源数据库查询会话表在非常单一页面不会有更灵活的/有用提供默认的经典PHP方法,所以我可以在cookie中的ID验证数据?

Answer 1:

您可以使用CSRF保护和加密cookie来加强对cookie的操纵系统。

如果你担心安全问题,但是,你绝对应该使用会话分贝。 除非你有大量用户,对DB命中将是可以忽略不计。 如果你有大量用户,时间去想分配工作负载的会话查找将是你最担心的。

客户端的cookie是更多的状态。 它们可用于诸如“记住我”的登录表单或页面布局或东西。 他们不应该被用于保护您的应用程序。

如果你不使用数据库会话,因为是存储会话ID的申请,你不能验证通过的Cookie会话。

请参阅http://ellislab.com/codeigniter/user-guide/libraries/sessions.html了解更多详情。



Answer 2:

基于Cookie的会话提供用于存储会话信息的重量轻,速度快的机制。 他们也是安全的。 每一个cookie的使用强烈的AES-256加密技术进行加密。 然而,饼干有四千字节存储限制,所以您可能希望如果你存储大量的数据,在会话中使用另一个驱动程序。 该数据是基于关闭在你的配置哈希加密和CI也运行在散列的更新间歇性更高的安全性。 在cookie或数据库中存储会话也更适合高负载下的服务器农场或集群。 许多大公司和其他高流量的网站使用此策略为他们的会议。

这是说我懂关注仅限于4KB的数据,具有数据客户端,并且也具有数据显示为每个页面负载的要求。 然而,没有什么让你使用默认的PHP会话或滚动你自己的会话库手动。



文章来源: Codeigniter what is the point of storing session data in the cookie ONLY? [duplicate]