一个包含许多值的cookie或多个具有一个值的cookie?

时间:2009-09-07 23:46:21

标签: php cookies

如果我想要存储在cookie中的许多设置,我应该创建多个cookie,每个cookie都有一个选项,或者一个大的cookie在序列化数组中有多个选项吗?

这两种方法都有利弊吗?大多数人做了什么?

4 个答案:

答案 0 :(得分:18)

好吧,我们主要做会话 - 发送一个带有用户标识符的cookie,并将所有选项值存储在服务器上。但是,如果我真的不想出于某种原因进行会话,我想我可能会做一个单一的cookie,因为如果做得好,它会减少网络流量。

答案 1 :(得分:8)

拥有单独cookie的一个很好的理由是每个cookie都独立于其他cookie,也就是说,单个cookie可以在不影响其他cookie的情况下过期,如果你不能 把所有东西都存放在一个大饼干里。

答案 2 :(得分:5)

您的选择是:

PHP会话 - 无需Cookie。存储您想要的所有数据。关闭浏览器或关闭会话后,需要进行新的身份验证。

持久会话 - 一个具有一个值的cookie,该值是用于访问存储会话或用于访问具有会话信息的数据库表的会话密钥。您可以存储所需的所有数据,并且您可以不必担心一直登录。

仅限Cookie - 在Cookie中存储多个值并不总是最好的想法。为什么? 1)Cookies不安全,任何人都可以阅读。 2)在整个应用程序中跟上多个cookie可能是未来错误的根源。 3)根据客户端/浏览器的不同,为您提供准确的数据永远不会好。如果您使用cookies,请确保它们尽可能轻松。

大饼干只会让你感到肚子疼。吃蛋糕代替。

答案 3 :(得分:3)

我更喜欢序列化数组.... Cookie是存储在客户端计算机或服务器上的文件,所以越少越好。