我的脚本设置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