【问题标题】:Odd & Sporadic Chrome Error: The chunked cookie is incomplete奇数和零星的 Chrome 错误:分块的 cookie 不完整
【发布时间】:2021-01-18 04:42:23
【问题描述】:

我们有一个 .NET Framework 4.7 Azure 托管的 Web 应用程序,该应用程序现在已经顺利运行了很长时间。我们已经告诉所有用户,他们应该使用 Chrome,据我们所知,大多数用户都这样做。

几周前,一位用户报告了一个奇怪的服务器端错误。屏幕上的消息不是很有帮助,所以我们关闭了自定义错误。这似乎有助于我们获得实际的错误信息:

分块的 cookie 不完整。只找到了 0 个预期的块,总共 0 个字符。可能已超出客户端大小限制。

我们以前从未见过该错误,但快速搜索提供了解决方案。我们要求用户清除 cookie 并重试。那行得通。几天后,又有两个用户报告了完全相同的错误。然后更多。然后更多。最初的修复适用于某些人,但不适用于其他人。最终,我们想出了以下步骤:


  1. 退出我们所有的应用程序。关闭所有 Chrome 标签页和窗口。打开一个新的 Chrome 窗口。
  2. 清除浏览器数据
    一种。点击右上角的三个点
    湾。选择“更多工具 > 清除浏览器数据”
    C。可能最好选择“所有时间”,但用户可能会先尝试较短的时间范围
  3. 将 Chrome 重置为默认设置
    一种。使用说明:https://support.google.com/chrome/answer/3296214?hl=en
  4. 关闭所有 Chrome 标签页和窗口,然后重试。

如果还是不行,那么请按照以下步骤操作……

  1. 退出我们所有的应用程序。关闭所有 Chrome 标签页和窗口。打开一个新的 Chrome 窗口。
  2. 在网址栏中,复制并粘贴此地址:chrome://flags
  3. 在搜索栏中输入:samesite
  4. 您的窗口现在应该如下所示:
  5. 对于所有三个选项,将下拉菜单从默认更改为启用
  6. 点击右下角的“RELAUNCH”按钮。
  7. Chrome 重新启动后,像往常一样返回应用程序。
    一种。您应该现在可以访问了。
    湾。但是,我们还没有完成!
  8. 重复上述 1-5,这一次将所有三个选项重置为默认值。
    一种。然后再次点击“RELAUNCH”按钮。

如果还是不行,那么请按照以下步骤操作……

  1. 尝试通过 Microsoft Edge 访问我们的应用程序

(我们不再要求用户在隐身窗口中尝试,因为他们的许多办公室都限制了它的使用。)

与此同时,我们正在疯狂地尝试找出错误的实际原因。令人惊讶的是,关于这一点的讨论并不多。这似乎与 Chrome 如何处理同站点 cookie 的最新更新有关,但主要问题是……我们无法重现它。它似乎是随机弹出的。并且一些用户报告错误会在他们不做任何事情的情况下消失。

然后,当然……我们只有一个用户,上面的步骤都不起作用。甚至不使用边缘。到目前为止,上述步骤对所有人都有效,但他除外。

有没有人遇到过这样的事情?有任何想法吗?有什么建议吗?

【问题讨论】:

  • 嗨,Casey,我对一些用户有同样的问题,但我没有重现它。感谢您的解决方案。
  • 您好,感谢您的帖子,凯西。我现在在我的网络应用程序上处理同样的问题。您是否有机会就错误的实际原因得出结论?
  • @Daniel,我刚刚发布了一个答案。在我们最终解决之前,我们为此苦苦挣扎了很长时间。我希望这会有所帮助。

标签: c# asp.net .net google-chrome cookies


【解决方案1】:

对于任何可能遇到此错误的人,以下是我们最终解决的方法。在这一点上,我将失去长期记忆,所以我会尽量做到准确。

问题是由于在 cookie 中放入了太多数据。在我们的例子中,cookie 被用作验证令牌。

错误刚刚开始看似随机发生的原因是某些浏览器(即:chrome)在更新中包含 cookie 长度限制。因此,当用户的浏览器版本更新时,他们会开始看到错误。

我们必须首先找出导致错误的 cookie。这并不难,因为大多数的值都很短。一旦我们知道哪个 cookie 是问题所在,我们就会想出如何大幅减少写入它的数据量。

【讨论】:

  • 谢谢@Casey。我也想缩小尺寸。但我不太明白的是,在我的情况下,问题出现在我的客户的特定部分(来自特定区域) - 我觉得奇怪的是它也显示在隐身标签中你有吗?有机会吗,以前在隐身模式下试过吗?
  • 你说得对,错误是非常零星的。是的,我们(意味着我们,开发人员)以隐身方式进行测试。但问题是……我们永远无法重现我们这边的错误,大多数看到错误的最终用户都有公司政策阻止他们使用隐身模式。这使得故障排除非常困难。
  • 这里具有讽刺意味的是,cookie 分块管理器旨在专门处理 cookie 过大的问题,方法是将它们分成块。我看到发生此错误的一种情况是,Web 应用程序的某些层增加了 cookie 大小——这打破了 cookie 分块器的假设,导致 cookie 太大。您可以通过减小最大块大小来解决此问题。
  • 感谢您的回答。我有一个网站,几个月来一直让我发疯——不会让我保持登录状态,当我通过电子邮件公告进入时,我不断收到“chunked cookie”错误。根据答案,我刚刚进入 Chrome 设置并清除了问题站点的 cookie,一切都突然正常了。希望它继续有效。
猜你喜欢
  • 2015-06-13
  • 2012-08-02
  • 2017-08-10
  • 2017-01-05
  • 1970-01-01
  • 1970-01-01
  • 2011-01-17
  • 2023-03-07
  • 2015-03-20
相关资源
最近更新 更多