use*_*704 5 .net c# asp.net cookies google-chrome
我们有一个 .NET Framework 4.7 Azure 托管的 Web 应用程序,现在已经平稳运行很长时间了。我们已经告诉所有用户他们应该使用 Chrome,据我们所知,大多数用户都这样做了。
\n几周前,一位用户报告了一个奇怪的服务器端错误。屏幕上的消息不是很有帮助,因此我们关闭了自定义错误。这似乎可以帮助我们获取实际的错误消息:
\n\n\n分块的 cookie 不完整。仅找到 0 个预期块,总共 0 个字符。可能已超出客户端大小限制。
\n
我们以前从未见过该错误,但快速搜索提供了解决方案。我们要求用户清除cookie并重试。那行得通。几天后,又有两个用户报告了完全相同的错误。然后更多。然后还有更多。最初的修复对某些人有效,但对其他人无效。最终,我们提出了以下步骤:
\n如果仍然不起作用,请按照以下步骤操作\xe2\x80\xa6
\n如果仍然不起作用,请按照以下步骤操作\xe2\x80\xa6
\n(我们不再要求用户在隐身窗口中尝试,因为他们的许多办公室都限制其使用。)
\n与此同时,我们正在疯狂地努力找出错误的实际原因。令人惊讶的是,关于这一点的讨论并不多。它似乎与 Chrome 处理同站点 cookie 的最新更新有关,但主要问题是......我们无法重现它。它似乎是随机出现的。一些用户报告说,他们不做任何事情,错误就会消失。
\n然后,当然......我们有一个用户,上述步骤对他来说都不起作用。甚至没有使用 Edge。到目前为止,上述步骤对除了他之外的所有人都有效。
\n有人遇到过这样的事情吗?有任何想法吗?建议?
\n对于任何可能遇到此错误的人,以下是我们最终解决该错误的方法。此时,我将放弃长期记忆,因此我会尝试尽可能准确。
问题是由于在 cookie 中放入了太多数据。在我们的例子中,cookie 被用作验证令牌。
该错误似乎随机发生的原因是某些浏览器(即:chrome)在更新中包含 cookie 长度限制。因此,当用户的浏览器版本更新时,他们就会开始看到错误。
我们必须首先找出哪个 cookie 导致了错误。这并不难,因为大多数的值都很短。一旦我们知道哪个 cookie 出了问题,我们就可以想出如何大幅减少写入其中的数据量。
归档时间: |
|
查看次数: |
2984 次 |
最近记录: |