繁体   English   中英

允许的最大 cookie 数量

[英]Maximum number of cookies allowed

据谷歌搜索告诉我,允许的最大 cookie 数量在很大程度上取决于浏览器,但是我找不到任何关于现代浏览器允许多少 cookie 的最新数据。

我需要在 cookie 中存储大量用户首选项(对于尚未注册的用户),那么最好的方法是什么? (此外,这些 cookie 将通过 javascript 客户端和 php 服务器端访问)

rfc

  • 至少 300 个饼干

  • 每个 cookie 至少 4096 字节(根据 Set-Cookie 标头的语法描述中构成 cookie 非终结符的字符的大小来衡量)

  • 每个唯一的主机名或域名至少有 20 个 cookie

这些是最低要求。 IE6 团队没有意识到这一点。 其他一切都是高度特定于浏览器的。 您最好编写一个测试平台来测试每个浏览器。 以少量增量步骤测试最大大小和数量(并检查它们是否仍然可读)。

另外,我似乎记得 apache 有大量 cookie 的问题。 不记得我在哪里看到过。

这是一个小 cookie 测试脚本: http : //krijnhoetmer.nl/stuff/javascript/maximum-cookies/

最好的方法是根本不将它们存储在 cookie 中。

将它们存储在数据库中,并将 DB 键存储在 cookie 中。 如果只是一些偏好,那么安全性就不是什么大问题。

不要忘记 cookie 将随每个请求一起发送 - 如果您有 2kb 的 cookie 数据并在页面上加载 10 张图像,那么这额外的 22kb 数据。

饼干数量:

  • Chrome 9 允许每个域 180 个 cookie
  • Firefox 3.6.3 允许每个域 50 个 cookie
  • Internet Explorer 8 允许每个域 50 个 cookie
  • Opera 10 和 9 允许每个域 30 个 cookie

Cookie 大小限制(4096 字节):

  • Firefox 和 Safari 允许最多包含 4097 个字符的 cookie,其中 4096 个用于名称和值,1 个用于等号。
  • Opera 允许最多 4096 个字符的 cookie,用于名称、值和等号。
  • Internet Explorer 允许最多 4095 个字符的 cookie,用于名称、值和等号。

SRC: http : //webdesign.about.com/od/cookies/f/cookies-per-domain-limit.htmhttp://www.nczonline.net/blog/2008/05/17/browser-cookie-限制/

我今天研究了这个,如果你想支持大多数浏览器,那么每个域不要超过 50 个 cookie,每个域不要超过 4095 个字节(即所有 cookie 的总大小 <= 4095 个字节)

要阅读有关它的更多信息,这里是测试页和结果

IIRC,对于大多数人来说是 20,对于某些人来说更多,而对于一种特定的浏览器(又是 IIRC,IE5.5?),它是 10。 最多 10 被认为是一个安全数字。

无论如何,您实际上并不需要多个 - 只需使用一个来存储客户端的 ID,并根据相同的 ID 存储您需要在服务器端存储的所有内容。 除此之外,您离开客户端的数据越少,他们删除/损坏/破解/等的次数就越少。

不确定从他们的角度来看这有多大意义,但我见过一些网站设置了 450 多个 cookie 并向140 多个独特的第三方域报告

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM