天天看點

.net的FormsAuthenticationTicket session、cookies驗證使用者資訊用法的差別

FormsAuthenticationTicket session、cookies為3種常用的驗證使用者登陸的方法,下邊說一下他們的差別:

2)session 使用session存儲使用者資訊使用發放簡便,可在含有http上下文的任意位置添加session對象,并且可以把對象賦予session,因為session為object類型,可被任意對象指派,session本質上其實是在伺服器端記憶體中開辟一段存儲區用于存放session的值,而在客服端(浏覽器)留下一個cookies标記,該标記為伺服器端的session的一個id,不是session對象的具體内容,這樣相對于資料安全來說相對安全,但也隻是相對,這樣做會對伺服器端記憶體有所消耗,但影響應該不是很大,除非你的網站同時線上人數很多。不過session機制還是有一些缺陷,iis中由于有程序回收機制,系統繁忙的話Session會丢失,IIS重新開機也會造成Session丢失。這樣使用者就要重新登入或者重新添加購物車、驗證碼等放到Session中的資訊。是以微軟才推薦使用FormsAuthenticationTicket票據方式來驗證使用者登陸。

3)cookies 以上2種方式都間接的使用了cookies,使用cookies來驗證使用者身份時,記得最好加密一下,除非你設定cookies的過期的時間,不然還是很容易被黑客所利用,造成不必要的使用者資訊洩露。但cookies存儲資料的大小有限制,平均下來不超過4K,有的浏覽器支撐比較高,但那也隻是有的不是所有浏覽器都是,咱們隻能取最小值。

以上隻是本人的拙見,不對之處希望大家給予指教,共同進步

本文轉自 tongling_zzu 51CTO部落格,原文連結:http://blog.51cto.com/tongling/1159266

繼續閱讀