不同的用户获得相同的cookie - 值为.ASPXANONYMOUS

时间:2010-03-15 16:27:56

标签: asp.net asp.net-mvc forms-authentication anonymousidentification

我的网站允许匿名用户。 我看到,在负载过重的情况下,匿名用户有时会获得其他用户的个人资料值。

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

我可以在我的日志中看到2个或更多用户真正获得.ASPXANONYMOUS相同的cookie值,即使他们有不同的IP。

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

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

alt text http://img413.imageshack.us/img413/2711/log1.gif

然后有一个更改Cookie的请求 alt text http://img704.imageshack.us/img704/8175/log2.gif

然后使用新Cookie

alt text http://img704.imageshack.us/img704/3818/log3.gif

为了安全起见我删除了依赖注入。 我不使用OutputCaching。

我的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流量完全有效。 .ASPXANONYMOUS中的值发生变化是因为cookie被刷新。该值包含AnonymousID和时间戳。

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

问题在于,无论何时从AnonymousIdentificationModule设置cokies,都有可能有几个用户获得此cookie。在我的应用程序中设置cookie并没有这个奇怪的副作用。

2 个答案:

答案 0 :(得分:3)

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

的链接

答案 1 :(得分:1)

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