不同的用户获得相同的cookie

我的网站允许匿名用户。 我看到,在负载很重的情况下,匿名用户有时会从其他用户获取配置文件值。

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

我可以在我的日志中看到,即使两个或多个用户拥有不同的IP,他们也会为.ASPXANONYMOUS获取相同的cookie值。

这里是htttp流量。 在第二张图片中显示更改的cookie(您必须显示图像的全尺寸才能读取日志):

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

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

然后有这一个请求,改变cookie alt文本http://img704.imageshack.us/img704/8175/log2.gif

然后使用新的cookie

替代文字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>

有没有人知道我还能记录什么,或者我应该看看什么?

UPDATE

我现在看到,我所显示的http流量是完全有效的。 .ASPXANONYMOUS中的值发生变化是由于Cookie被刷新而发生的。 该值包含AnonymousID和时间戳。

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

问题显而易见的是,每当cokies从AnonymousIdentificationModule中设置,那么有可能有几个用户得到这个cookie。 在我的应用程序中设置cookie不会有这种奇怪的副作用。


我遇到了同样的问题,并且解决方法是关闭输出缓存,以便调用SetCookie的响应。 以下是描述这一点的几个链接

  • 不要让你的cookie被意外缓存!
  • ASP.NET会话混合使用StateServer(SCARY!)
  • 集成管道和内核模式缓存

  • 你是否在代码中声明了任何静态变量? 我有这个类似的问题,并缩小到这个范围; 至少对我的情况来说。

    链接地址: http://www.djcxy.com/p/45211.html

    上一篇: Different users get the same cookie

    下一篇: Change the key being pressed with C#