我的網站允許匿名用戶。 我看到,在負載較重的情況下,匿名用戶有時會從其他用戶獲取配置文件值。不同用戶在.ASPXANONYMOUS中獲得相同的cookie值 -
我首先刪除了我的cookies並獲得了cookie值.ASPXANONYMOUS中的有效唯一值。在幾次請求後,我爲.ASPXANONYMOUS獲得了一個新值,該值已被另一個用戶使用。我在我的loggs中看到,總有一些用戶在.ASPXANONYMOUS中共享相同的值。
我可以在我的日誌中看到,即使兩個或多個用戶擁有不同的IP,他們也會爲.ASPXANONYMOUS獲取相同的cookie值。
這裏是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>
沒有任何人有一個想法,還有什麼我可以登錄或者我應該看看?
UPDATE
我現在的HTTP流量我發現是完全有效看見。 .ASPXANONYMOUS中的值發生變化是由於Cookie被刷新而發生的。該值包含AnonymousID和時間戳。
在正常情況下,這不會導致用戶在.ASPXANONYMOUS中具有相同的值。
問題顯而易見的是,每當cokies從AnonymousIdentificationModule中設置,那麼就有可能會有幾個用戶獲得這個cookie。在我的應用程序中設置cookie不會有這種奇怪的副作用。
所以,如果一個特定的請求是從請求borking你的cookies,也許一些相關的來源,將有助於追查問題? – 2010-03-21 17:55:56
如果問題是一個特定的請求,我還不確定。我有一個印象,一些控制器實例在某個時刻使用相同的HttpContext。即使我在其上投入了大量流量,我仍然無法在舞臺和開發中重現錯誤,這就是爲什麼我可以在這裏提供這麼少的細節。 – 2010-03-21 18:38:55
這一次運氣好嗎? – 2010-04-30 03:53:23