2015-01-31 64 views
0

我有一個網站有登錄功能,並有一個「記住我」選項。在我的用戶表中,我有一個128位隨機令牌,我把它放在cookie中,然後用來查找用戶。我應該從cookie填充會話變量嗎?

我將使用一個「LoggedInUser」,它是我的「User」類的一個實例,它將填充數據庫查找,以便我可以檢索用戶的用戶名,ID和其他信息。現在假設用戶有一個cookie,我應該簡單地使用cookie值執行用戶查找,還是應該將該令牌存儲在會話中並使用該值執行查找?這裏主要的擔心是安全性和性能,IE更安全,並且加載時間更短?

+1

不要重新認證系統。使用身份。 – CodeCaster 2015-01-31 19:07:44

回答

0

會話ID通常存儲在cookie的 - 所以幾乎沒有任何安全上的差異是否你自己存儲在ID的Cookie或使用SessionState的餅乾。

相同的性能 - 在數據庫查詢的主要成本將垃圾桶,很明顯,如果你做幾個額外的步驟(添加/會話狀態紅色),這將是(可能不是可測量)更快。

注:

  • 「隨機」的會話狀態產生通過大量的安全審查去了,希望你是一個好了。
  • 會話狀態cookie不會被標記爲「安全」時默認將通過HTTP發送過,顯然你不會 - 所以定製cookie的好一點。
  • 會話狀態可以配置Cookie的,你的情況你的方案是有點安全(因爲你不能誤份額的cookie,但網址很容易共享)。