程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> asp.net中的cookie使用介紹

asp.net中的cookie使用介紹

編輯:ASP.NET基礎
一.cookie導讀,理解什麼是cookie

1.什麼是cookie:cookie是一種能夠讓網站服務器把少量數據(4kb左右)存儲到客戶端的硬盤或內存。並且讀可以取出來的一種技術。

2.當你浏覽某網站時,由web服務器放置於你硬盤上的一個非常小的文本文件,它可以記錄你的用戶id、浏覽過的網頁或者停留的時間等網站想要你保存的信息。當你再次通過浏覽器訪問該網站時,浏覽器會自動將屬於該網站的cookie發送到服務器去,服務器通過讀取cookie,得知你的相關信息,就可以做出相應的動作。比如,顯示歡迎你的小標題,不用填寫帳號密碼直接登錄等。。
3.不同的浏覽器存儲的cooks位置是也不一樣的。cookie文件的信息是不安全的,所以cookie裡面的數據最好加密。
4.浏覽器保存cookie數據有2中形式:浏覽器的內存中,浏覽器所在的電腦硬盤中。

二.cookie的查看

cookie在硬盤中的存在位置查看方法:
 

三.cookie的代碼解釋
1.將cookie寫入浏覽器端
復制代碼 代碼如下:
HttpCookie cookie = new HttpCookie("id","234"); //創建cookie的實例。
Response.Cookies.Add(cookie);//將創建的cookie文件輸入到浏覽器端

explain:這裡相當於在cookie文件中寫入鍵值對為id:234,我們可以讀取這個數據
2.讀出cookie中存放的數據
復制代碼 代碼如下:
HttpCookie cookie = new HttpCookie("id","234"); //創建cookie的實例。
Response.Cookies.Add(cookie);//將創建的cookie文件輸入到浏覽器端
Response.Write(Request.Cookies["id"].Value); //讀取cookie文件中存儲的值

explain:頁面寫出的數據就是234,從這裡我們就能看出cookie的不安全性。所以使用的時候最好不要存放重要信息,如果就想存放,可以對其加密,在寫入cookie存儲文件中。還有如果對其無限制的寫入,會造成垃圾文件過多。所以我們可以給cookie文件加一個有效期。
3.cookie文件的有效期設置
復制代碼 代碼如下:
HttpCookie cookie = new HttpCookie("id","234"); //創建cookie的實例。
cookie.Expires = DateTime.Now.AddMonths(5);//設置cookie的過期時間,5分鐘後過期,自動清除文件
Response.Cookies.Add(cookie);//將創建的cookie文件輸入到浏覽器端
Response.Write(Request.Cookies["id"].Value); //讀取cookie文件中存儲的值

4.cookie文件的刪除、銷毀
復制代碼 代碼如下:
HttpCookie cookie = new HttpCookie("id","234"); //創建cookie的實例。
cookie.Expires = DateTime.Now.AddMonths(5);//設置cookie的過期時間,5分鐘後過期,自動清除文件
Response.Cookies.Add(cookie);//將創建的cookie文件輸入到浏覽器端
Response.Write(Request.Cookies["id"].Value); //讀取cookie文件中存儲的值
cookie.Expires = DateTime.Now.AddMonths(-5); //cookie的銷毀,給他設置一個多去了的時間,他就倍銷毀了。

四.一個cookie的小例子,記住我。(如果登錄的時候選擇記住我,下次無需登錄直接跳轉的內容頁)
復制代碼 代碼如下:
<body>
<form id="form1" method="post" action="rembPage.aspx">
<div>
帳號: <input type="text" name="userName" /><br />
密碼 :<input type="password" name="pass" /><br />
記住我: <input type="checkbox" value="rem" name="sele1" /><br />
<input type="submit" value=" 登錄 " />
</div>
</form>
</body>
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["userName"] == null && Request.Cookies["passWord"] == null)
{
if (Request.Form["userName"] != null && Request.Form["pass"] != null)
{
String userName = Request.Form["userName"];
String userPassWord = Request.Form["pass"];
if (userName == "admin" && userPassWord == "123")
{
if (Request.Form["sele1"] != null)
{
HttpCookie cookieUserName = new HttpCookie("userName", userName); //創建帳號的cookie實例
HttpCookie cookiePassWord = new HttpCookie("passWord", userPassWord);
cookieUserName.Expires = DateTime.Now.AddDays(2); //設置帳號cookie的過期時間,當前時間算往後推兩天
cookiePassWord.Expires = new DateTime(2012, 5, 27); //設置密碼cookie的過期時間,過期時間為2012年5月27日
Response.Cookies.Add(cookieUserName); //將創建的cookieUserName文件輸入到浏覽器端
Response.Cookies.Add(cookiePassWord);
Response.Redirect("1.aspx"); //跳轉到你想要的頁面
}
else
{
Response.Redirect("1.aspx");//即便不記住密碼也要跳轉
}
}
}
}
else
{
Response.Redirect("1.aspx");//如果記住密碼,第二次登錄將直接進入1.aspx頁面
}
}

五.js中的cookie以後再寫,這裡我有什麼錯誤,或者你想指點我什麼,請留言。謝謝!
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved