Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript document.cookie缺少一些对_Javascript_Cookies - Fatal编程技术网

javascript document.cookie缺少一些对

javascript document.cookie缺少一些对,javascript,cookies,Javascript,Cookies,我的脚本设置了十个cookie,浏览器成功保存了它们,但document.cookie仅检索九对cookie,缺少的一对如下所示: auth:4ae9Mq1j6tjt7dV6kV6A0piHB6NnNjijBmecax9mA8cfDpSs6pnAcD7H1%2FUqWMIIB%2BbgtKIJ2w1L2GnXkgV2 发生了什么事?document.cookie中是否有字符限制?cookie域与其他域相同。我有两个澄清问题: 如果最终的饼干屑似乎没有存储在document.cookie中,为什

我的脚本设置了十个cookie,浏览器成功保存了它们,但
document.cookie
仅检索九对cookie,缺少的一对如下所示:

auth:4ae9Mq1j6tjt7dV6kV6A0piHB6NnNjijBmecax9mA8cfDpSs6pnAcD7H1%2FUqWMIIB%2BbgtKIJ2w1L2GnXkgV2

发生了什么事?
document.cookie中是否有字符限制?cookie域与其他域相同。

我有两个澄清问题:

  • 如果最终的饼干屑似乎没有存储在document.cookie中,为什么您认为您的“浏览器成功保存”了所有的饼干屑
  • 缺少的值是您上次尝试添加的值吗?如果是这样,根据您提供的信息,我假设值太长,无法存储在cookie中
  • cookie crump字符串的字节大小取决于编码

    您可以阅读有关每个域允许的最大cookie大小和数量的更多信息。您可以阅读一篇关于在不同浏览器中超过限制时会发生什么的老文章。这些限制因浏览器而异

    声明浏览器应支持至少4096字节的cookie大小、至少300个cookie总数以及每个域或唯一主机至少20个cookie。显示2009年的cookie大小测试。请注意关于个别浏览器如何处理cookie的更多内容

    请注意,将每个域的Cookie数量限制为50,而IE的早期版本将每个域的Cookie数量限制为20

    RFC2109和大量的在线参考资料表明,大约4096字节的最大大小是一个很好的一般假设。如果您不能保持低于该限制,则可能必须以某种方式将数据存储在服务器上


    如果问题不在于cookie大小,有关您如何存储和检索cookie值的详细信息将有助于小组解决您的问题。

    问题在于服务器端发送的cookie设置为HttpOnly,如下所述:

    无法通过document.cookie访问以这种方式发送的cookie。这通常用于帮助保护cookie值免受站点上可能的XSS攻击

    您没有提到在服务器端使用哪种技术来设置cookie。如果您使用的是PHP,此链接列出了设置HttpOnly标志的可能方式:


    当我回答时,我没有意识到这条线太陈旧了。无论如何,我希望这个答案能帮助别人。