簡體   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