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有效期逾期為止,瀏覽器會將該資訊清除。
- HttpCookie acookie = new HttpCookie("username");
- acookie.Value="mike";
- acookie.Expires=DateTime.MaxValue;
- Response.Cookies.Add(acookie);
- HttpCookie cookie = new HttpCookie("login");
- cookie.Values["username"]="mike";
- cookie.Values["password"]="123456";
- cookie.Expires= System.DateTime.Now.AddDays(1);//設定過期時間 1天
- Response.Cookies.Add(cookie);
在B/S開發中Cookie是一個很常用並且很重要的知識,不僅要學會對cookie的讀與寫,還有對cookie的用途、生命週期有一個全面系統的理解,從而幫助我們更好的利用和使用cookie進行程式設計設計。當然提到cookie,最重要的一個問題就是安全問題,儘管在cookie中已經對資料加密,經過加密處理後的資訊即使被網路上一些別有用心的人截獲,也看不懂,因為他看到的只是一些無意義的字母和數字。然而,現在遇到的問題是,截獲Cookie的人不需要知道這些字串的含義,他們只要把別人的Cookie向伺服器提交,並且能夠通過驗證,他們就可以冒充受害人的身份,登陸網站。這種方法叫做Cookie欺騙。所以對於Cookie知識還需深入瞭解和挖掘。