7

我的网站允许匿名用户。我看到在重负载下匿名用户有时会从其他用户那里获得配置文件值。

我首先删除我的 cookie 并在 cookie 值 .ASPXANONYMOUS 中获得一个有效的唯一值。经过几次请求后,我得到了 .ASPXANONYMOUS 的新值,该值已被另一个用户使用。我在我的日志中看到,总是有几个用户在 .ASPXANONYMOUS 中共享相同的值。

我可以在我的日志中看到 2 个或更多用户确实为 .ASPXANONYMOUS 获得了相同的 cookievalue,即使他们拥有不同的 IP。

这是http流量。在第二张图片中显示了更改的 cookie(您必须显示完整大小的图片才能读取日志):

许多工作正常的请求之一:

替代文字 http://img413.imageshack.us/img413/2711/log1.gif

然后有一个请求会更改 cookie 替代文本 http://img704.imageshack.us/img704/8175/log2.gif

然后使用新的cookie

替代文字 http://img704.imageshack.us/img704/3818/log3.gif

为了安全起见,我删除了依赖注入。我不使用输出缓存。

我的 web.config 具有以下身份验证设置:

 <anonymousIdentification enabled="true" cookieless="UseCookies" cookieName=".ASPXANONYMOUS" 
      cookieTimeout="30" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" />

  <authentication mode="Forms">
        <forms loginUrl="~/de/Account/Login" />
    </authentication>

有人知道我还可以记录什么或应该看什么吗?

更新

我现在看到我展示的 http-traffic 是完全有效的。.ASPXANONYMOUS 中的值发生变化是因为 cookie 被刷新而发生的。该值包含 AnonymousID 和 Timestamp。

这不会导致用户在正常情况下在 .ASPXANONYMOUS 中具有相同的值。

真正的问题是,每当从 AnonymousIdentificationModule 中设置 cookie 时,就有可能有几个用户得到这个 cookie。在我的应用程序中设置 cookie 没有这种奇怪的副作用。

4

2 回答 2

3

我遇到了同样的问题,解决方案是关闭您调用 SetCookie 的响应的输出缓存。下面是几个描述这个的链接

于 2011-09-23T04:36:05.957 回答
1

您是否在代码中声明了任何静态变量?我有这个类似的问题,并将其缩小到那个;至少就我的情况而言。

于 2010-03-17T23:24:11.600 回答