codeigniter会话和cookie

时间:2011-01-21 16:18:29

标签: php session codeigniter cookies

我知道codeigniter将它的会话存储为cookie,从阅读中我理解为有点不安全。所以...我打算为会话启用数据库存储,我相信:

a)更安全吗?
b)允许您存储的数据超过Cookie提供的4kb限制吗?

然而另一方面,我认为系统检索速度会慢一些,例如,在我的应用程序中,我经常想查询会话数据以确定用户是否已登录。

将会话存储在数据库中是个好主意,还是会大大减慢我的应用?

有关会话和Cookie的任何其他想法或建议将非常受欢迎。

1 个答案:

答案 0 :(得分:5)

嗯,这是真的,也是假的。可以将CodeIgniter配置为将其数据存储在数据库中,但它可以在将cookie存储在客户端之前对其进行加密。它也是MD5的cookie内容,以确保数据完整性(基本上如果Cookie的MD5不正确匹配,那么它被拒绝)。因此,虽然默认情况下可以编辑cookie,但这样做非常烦人。

就个人而言,我通常更喜欢在$ _SESSION中存储会话级数据,并修改了我的会话对象以允许我这样做。我还使PHPSESSID变量变得更加复杂。

关于你的问题,“将会话存储在数据库中是一个好主意”,这取决于数据库的速度和内存需求。它可能会减慢速度,或者可以根据配置等方式加快速度。