我的网站允许匿名用户.我看到,在负载过重的情况下,匿名用户有时会获得其他用户的个人资料值.
我首先删除我的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
在以前的 ASP.NET MVC 中,您可以通过在以下代码中添加 1 行来轻松打开匿名身份验证web.config:
<anonymousIdentification enabled="true" />
Run Code Online (Sandbox Code Playgroud)
我们可以使用匿名身份识别,即Request.AnonymousID识别您网站上未经身份验证的用户。当您需要针对访客保存购物车中的商品时,这对于电子商务体验非常有用。
更多信息:http://www.toplinestrategies.com/blogs/net/anonymous-identification-mvc
问题:
Request.AnonymousID来自System.Web,随着 ASP.NET Core 的出现而消失。
问题:
注意:我不想使用会话来存储对象。
如果我查看我的cookievalue .ASPXANONYMOUS它是一个字符串即
WZnX-rXHygEkAAAAOTFhZjE5YTctZmEzZi00MTMwLWEwNTAtYjYwMzI0N2M0NTY4gQUsRlThiJWAjBgmBnpeIba7eGo1
值Request.AnonymousID是Guid.
你怎么从ASPXANONYMOUS到AnonymousID?
我需要这个来调试我使用FormsAuthentication的一些问题.