gpt4 book ai didi

使用 StateServer 的 ASP.NET session 混合(可怕!)

转载 作者:行者123 更新时间:2023-12-02 07:01:08 30 4
gpt4 key购买 nike

我们在 session 中存储两个对象。不知何故,来自另一个用户的对象之一被加载到另一个用户的 session 中。用户应该无权访问此特定数据,一旦他们看到它,他们就知道出了什么问题。

我们有向他提供的数据的视觉证据,并且当然除非 session 混淆,否则这种情况不可能发生。这是一个非常可怕的情况,我们无法弄清楚(我们无法重现它)。我们唯一的答案就是责怪 ASP.NET StateServer 混合了 session 变量,这是完全 Not Acceptable ,并且使我们处于不利的境地。

我们的应用程序是在带有 IIS6 的 Windows Server 2003 上运行的 ASP.NET 2.0 应用程序,使用 StateServer cookieless="false" session 模式和 FormsAuthentication。

还有人遇到过这个问题吗?怎么解决呢?

最佳答案

我们在之前的公司就遇到了这个问题,并花了 3 周时间进行调试。 ASP.NET 向用户提供了其他人的 session 状态。在调试环境中确实无法复制。

当我们发现它只是 web.config 中的某些内容时进行修复。我不太记得了,所以我花了一些时间谷歌搜索。我认为这个问题与输出缓存有关。请参阅“ session 和输出缓存”下的这篇文章。

http://download.microsoft.com/download/3/a/7/3a7fa450-1f33-41f7-9e6d-3aa95b5a6aea/MSDNMagazineJuly2006en-us.chm (该文章的标题是 Jeff Prosise 发表在 2006 年 7 月版 MSDN 杂志上的通过避免这 10 个常见的 ASP.NET 陷阱来保持网站平稳运行)

如果这听起来像您的情况,那么解决方法可能只是禁用 web.config 中的enableKernelOutputCache 选项。

祝你好运。

关于使用 StateServer 的 ASP.NET session 混合(可怕!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1646274/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com