1. 程式人生 > >ASP.NET中Cookie的使用方法

ASP.NET中Cookie的使用方法

if(Request.Cookies["userName"] != null) 
    Label1.Text = Server.HtmlEncode(Request.Cookies["userName"].Value);訪問Cookie方法(2) 
if(Request.Cookies["userName"] != null) 
{ 
    HttpCookie aCookie = Request.Cookies["userName"]; 
    Label1.Text = Server.HtmlEncode(aCookie.Value); 
} 

建立多值Cookie方法 (2)

HttpCookie aCookie = new HttpCookie("userInfo"); 
aCookie.Values["userName"] = “admin"; 
aCookie.Values["lastVisit"] = DateTime.Now.ToString(); 
aCookie.Expires = DateTime.Now.AddDays(1); 
Response.Cookies.Add(aCookie); 

不能直接修改或刪除Cookie,只能建立一個新的Cookie,傳送到客戶端以實現修改或刪除Cookie.

Cookie可以保持登入資訊到使用者下次與伺服器的會話,換句話說,下次訪問同一網站時,使用者會發現不必輸入使用者名稱和密碼就已經登入了(當然,不排除使用者手工刪除Cookie)。而還有一些Cookie在使用者退出會話的時候就被刪除了,這樣可以有效保護個人隱私。


Cookie在生成時就會被指定一個Expire值,這就是Cookie的生存週期,在這個週期內Cookie有效,超出週期Cookie就會被清除。有些頁面將Cookie的生存週期設定為“0”或負值,這樣在關閉瀏覽器時,就馬上清除Cookie,不會記錄使用者資訊,更加安全。

在網站設計對cookie進行程式設計時,如果沒有設定Expire的值cookie的內容暫時儲存在記憶體中,關閉瀏覽器之後該資訊就會被刪除;設定Expire的值之後,cookie會以文字的形式儲存到本地上,每次開啟瀏覽器訪問該網站時客戶端都會向伺服器傳送該cookie,直至設定的cookie有效期逾期為止,瀏覽器會將該資訊清除。


  1. HttpCookie acookie = new HttpCookie("username");  
  2. acookie.Value="mike";  
  3. acookie.Expires=DateTime.MaxValue;   
  4. Response.Cookies.Add(acookie);  

  1. HttpCookie cookie = new HttpCookie("login");  
  2. cookie.Values["username"]="mike";  
  3. cookie.Values["password"]="123456";  
  4. cookie.Expires= System.DateTime.Now.AddDays(1);//設定過期時間  1天
  5. Response.Cookies.Add(cookie); 

    

     

                  

       在B/S開發中Cookie是一個很常用並且很重要的知識,不僅要學會對cookie的讀與寫,還有對cookie的用途、生命週期有一個全面系統的理解,從而幫助我們更好的利用和使用cookie進行程式設計設計。當然提到cookie,最重要的一個問題就是安全問題,儘管在cookie中已經對資料加密,經過加密處理後的資訊即使被網路上一些別有用心的人截獲,也看不懂,因為他看到的只是一些無意義的字母和數字。然而,現在遇到的問題是,截獲Cookie的人不需要知道這些字串的含義,他們只要把別人的Cookie向伺服器提交,並且能夠通過驗證,他們就可以冒充受害人的身份,登陸網站。這種方法叫做Cookie欺騙。所以對於Cookie知識還需深入瞭解和挖掘。