我的网站允许匿名用户.我看到,在负载过重的情况下,匿名用户有时会获得其他用户的个人资料值.
我首先删除我的cookie并在cookie值中获得有效的唯一值.ASPXANONYMOUS.在几个请求之后,我得到了另一个用户已经使用的.ASPXANONYMOUS的新值.我在loggs中看到,总有几个用户在.ASPXANONYMOUS中共享相同的值.
我可以在我的日志中看到2个或更多用户真正获得.ASPXANONYMOUS相同的cookie值,即使他们有不同的IP.
这是htttp流量.在第二个图像中显示更改cookie(您必须显示图像的完整大小才能读取日志):
其中一项工作正常:
替代文字http://img413.imageshack.us/img413/2711/log1.gif
然后有一个请求更改cookie 替换文本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>
Run Code Online (Sandbox Code Playgroud)
有没有人知道我还能记录什么或者我应该看看什么?
UPDATE
我现在看到我展示的http流量完全有效..ASPXANONYMOUS中的值发生变化是因为cookie被刷新.该值包含AnonymousID和时间戳.
这不会导致用户在正常情况下具有相同的.ASPXANONYMOUS值.
问题是,无论何时从AnonymousIdentificationModule设置cokies,那么有可能有几个用户获得此cookie.在我的应用程序中设置cookie并没有这个奇怪的副作用.
asp.net asp.net-mvc forms-authentication anonymousidentification