我的腳本設置10個cookies和瀏覽器成功保存他們,但document.cookie
只檢索9雙,缺少的是對如下:的JavaScript的document.cookie缺少一些對
auth:4ae9Mq1j6tjt7dV6kV6A0piHB6NnNjijBmecax9mA8cfDpSs6pnAcD7H1%2FUqWMIIB%2BbgtKIJ2w1L2GnXkgV2
發生了什麼? document.cookie
中有字符限制嗎? Cookie域與所有其他域相同。
我的腳本設置10個cookies和瀏覽器成功保存他們,但document.cookie
只檢索9雙,缺少的是對如下:的JavaScript的document.cookie缺少一些對
auth:4ae9Mq1j6tjt7dV6kV6A0piHB6NnNjijBmecax9mA8cfDpSs6pnAcD7H1%2FUqWMIIB%2BbgtKIJ2w1L2GnXkgV2
發生了什麼? document.cookie
中有字符限制嗎? Cookie域與所有其他域相同。
我有兩個澄清的問題:
Cookie crumb字符串的大小取決於您的編碼。
你可以閱讀更多關於每個域here允許的最大餅乾大小和數量。您可以閱讀關於如果超出了不同瀏覽器的限制here會發生什麼的較舊討論。這些限制因瀏覽器而異。
RFC 2109指出瀏覽器應該支持至少4096字節的cookie大小,至少300個總cookie以及每個域或唯一主機至少20個cookie。 This article顯示了2009年以來的cookie大小測試。This 2008 blog post注意到有關單個瀏覽器如何處理cookie的更多項目。
注意IE 7 and later每個域的cookie的數量限制爲50,而早期版本的IE瀏覽器的有20個域名的限制。
RFC 2109和衆多的在線參考建議,大約4096字節的最大尺寸是一個很好的一般假設堅持。如果你不能保持低於這個限制,你可能需要以某種方式將你的數據存儲在服務器上。
如果不是cookie的大小是這樣的問題,更多的信息上究竟如何你存儲和檢索你的cookie值將幫助小組解決您的問題。
的問題是,在服務器端與發送的HttpOnly餅乾設置如下所述:發送這樣http://en.wikipedia.org/w/index.php?title=HTTP_cookie#HttpOnly_cookie
Cookie不是直通的document.cookie訪問。這通常用於幫助保護cookie值免受您網站上可能發生的XSS攻擊。
你沒有提到你正在使用服務器端的哪種技術來設置的cookie。如果你正在使用PHP,這個鏈接列出了可能的途徑中HTTPOnly標誌可以設置:
https://www.owasp.org/index.php/HttpOnly#Using_PHP_to_set_HttpOnly
沒有意識到,這個線程是如此陳舊,當我回答了。無論如何,我希望這個答案有助於某人。 – hotshot309 2011-07-09 15:41:27