7

我的網站允許匿名用戶。 我看到,在負載較重的情況下,匿名用戶有時會從其他用戶獲取配置文件值。不同用戶在.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不會有這種奇怪的副作用。

+0

所以,如果一個特定的請求是從請求borking你的cookies,也許一些相關的來源,將有助於追查問題? – 2010-03-21 17:55:56

+1

如果問題是一個特定的請求,我還不確定。我有一個印象,一些控制器實例在某個時刻使用相同的HttpContext。即使我在其上投入了大量流量,我仍然無法在舞臺和開發中重現錯誤,這就是爲什麼我可以在這裏提供這麼少的細節。 – 2010-03-21 18:38:55

+0

這一次運氣好嗎? – 2010-04-30 03:53:23

回答

1

你是否在代碼中聲明瞭任何靜態變量?我有這個類似的問題,並縮小到這個範圍;至少對我的情況來說。

+0

聽起來很有趣!現在我沒有看到這可能適用於我的代碼。我只有 私有靜態只讀ILog _log = LogManager.GetLogger(typeof(HomeController)); 而我現在不登錄我所觸摸的一個動作。但無論如何,這是一個好主意! – 2010-03-18 08:27:28

+0

你有沒有看過這裏的其他問題http://stackoverflow.com/questions/513782?tab=oldest#tab-top 也許在這裏的東西可以幫助嗎? – TheGeekYouNeed 2010-03-23 17:04:52

相關問題