一.cookie導(dǎo)讀,理解什么是cookie
1.什么是cookie:cookie是一種能夠讓網(wǎng)站服務(wù)器把少量數(shù)據(jù)(4kb左右)存儲(chǔ)到客戶端的硬盤或內(nèi)存。并且讀可以取出來的一種技術(shù)。
2.當(dāng)你瀏覽某網(wǎng)站時(shí),由web服務(wù)器放置于你硬盤上的一個(gè)非常小的文本文件,它可以記錄你的用戶id、瀏覽過的網(wǎng)頁或者停留的時(shí)間等網(wǎng)站想要你保存的信息。當(dāng)你再次通過瀏覽器訪問該網(wǎng)站時(shí),瀏覽器會(huì)自動(dòng)將屬于該網(wǎng)站的cookie發(fā)送到服務(wù)器去,服務(wù)器通過讀取cookie,得知你的相關(guān)信息,就可以做出相應(yīng)的動(dòng)作。比如,顯示歡迎你的小標(biāo)題,不用填寫帳號(hào)密碼直接登錄等。。
3.不同的瀏覽器存儲(chǔ)的cooks位置是也不一樣的。cookie文件的信息是不安全的,所以cookie里面的數(shù)據(jù)最好加密。
4.瀏覽器保存cookie數(shù)據(jù)有2中形式:瀏覽器的內(nèi)存中,瀏覽器所在的電腦硬盤中。
二.cookie的查看
cookie在硬盤中的存在位置查看方法:
三.cookie的代碼解釋
1.將cookie寫入瀏覽器端
復(fù)制代碼 代碼如下:
HttpCookie cookie = new HttpCookie("id","234"); //創(chuàng)建cookie的實(shí)例。
Response.Cookies.Add(cookie);//將創(chuàng)建的cookie文件輸入到瀏覽器端
explain:這里相當(dāng)于在cookie文件中寫入鍵值對(duì)為id:234,我們可以讀取這個(gè)數(shù)據(jù)
2.讀出cookie中存放的數(shù)據(jù)
復(fù)制代碼 代碼如下:
HttpCookie cookie = new HttpCookie("id","234"); //創(chuàng)建cookie的實(shí)例。
Response.Cookies.Add(cookie);//將創(chuàng)建的cookie文件輸入到瀏覽器端
Response.Write(Request.Cookies["id"].Value); //讀取cookie文件中存儲(chǔ)的值
explain:頁面寫出的數(shù)據(jù)就是234,從這里我們就能看出cookie的不安全性。所以使用的時(shí)候最好不要存放重要信息,如果就想存放,可以對(duì)其加密,在寫入cookie存儲(chǔ)文件中。還有如果對(duì)其無限制的寫入,會(huì)造成垃圾文件過多。所以我們可以給cookie文件加一個(gè)有效期。
3.cookie文件的有效期設(shè)置
復(fù)制代碼 代碼如下:
HttpCookie cookie = new HttpCookie("id","234"); //創(chuàng)建cookie的實(shí)例。
cookie.Expires = DateTime.Now.AddMonths(5);//設(shè)置cookie的過期時(shí)間,5分鐘后過期,自動(dòng)清除文件
Response.Cookies.Add(cookie);//將創(chuàng)建的cookie文件輸入到瀏覽器端
Response.Write(Request.Cookies["id"].Value); //讀取cookie文件中存儲(chǔ)的值
4.cookie文件的刪除、銷毀
復(fù)制代碼 代碼如下:
HttpCookie cookie = new HttpCookie("id","234"); //創(chuàng)建cookie的實(shí)例。
cookie.Expires = DateTime.Now.AddMonths(5);//設(shè)置cookie的過期時(shí)間,5分鐘后過期,自動(dòng)清除文件
Response.Cookies.Add(cookie);//將創(chuàng)建的cookie文件輸入到瀏覽器端
Response.Write(Request.Cookies["id"].Value); //讀取cookie文件中存儲(chǔ)的值
cookie.Expires = DateTime.Now.AddMonths(-5); //cookie的銷毀,給他設(shè)置一個(gè)多去了的時(shí)間,他就倍銷毀了。
四.一個(gè)cookie的小例子,記住我。(如果登錄的時(shí)候選擇記住我,下次無需登錄直接跳轉(zhuǎn)的內(nèi)容頁)
復(fù)制代碼 代碼如下:
body>
form id="form1" method="post" action="rembPage.aspx">
div>
帳號(hào): 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); //創(chuàng)建帳號(hào)的cookie實(shí)例
HttpCookie cookiePassWord = new HttpCookie("passWord", userPassWord);
cookieUserName.Expires = DateTime.Now.AddDays(2); //設(shè)置帳號(hào)cookie的過期時(shí)間,當(dāng)前時(shí)間算往后推兩天
cookiePassWord.Expires = new DateTime(2012, 5, 27); //設(shè)置密碼cookie的過期時(shí)間,過期時(shí)間為2012年5月27日
Response.Cookies.Add(cookieUserName); //將創(chuàng)建的cookieUserName文件輸入到瀏覽器端
Response.Cookies.Add(cookiePassWord);
Response.Redirect("1.aspx"); //跳轉(zhuǎn)到你想要的頁面
}
else
{
Response.Redirect("1.aspx");//即便不記住密碼也要跳轉(zhuǎn)
}
}
}
}
else
{
Response.Redirect("1.aspx");//如果記住密碼,第二次登錄將直接進(jìn)入1.aspx頁面
}
}
五.js中的cookie以后再寫,這里我有什么錯(cuò)誤,或者你想指點(diǎn)我什么,請(qǐng)留言。謝謝!
您可能感興趣的文章:- asp.net下cookies的丟失和中文亂碼
- asp.net清空Cookie的兩種方法
- asp.net COOKIES需要注意的一點(diǎn)
- asp.net cookie的操作,寫入、讀取與操作
- asp.net Cookie跨域、虛擬目錄等設(shè)置方法
- ASP.NET Cookie 操作實(shí)現(xiàn)
- asp.net Cookie操作類
- asp.net下cookies操作完美代碼
- asp.net通過js實(shí)現(xiàn)Cookie創(chuàng)建以及清除Cookie數(shù)組的代碼
- asp.net(C#)跨域及跨域?qū)慍ookie問題
- asp.net關(guān)于Cookie跨域(域名)的問題
- Asp.net內(nèi)置對(duì)象之Cookies(簡(jiǎn)介/屬性方法/基本操作及實(shí)例)
- asp.net Cookie值中文亂碼問題解決方法
- asp.net中使用cookie與md5加密實(shí)現(xiàn)記住密碼功能的實(shí)現(xiàn)代碼
- ASP.NET之Response.Cookies.Remove 無法刪除COOKIE的原因
- asp.net利用cookie保存用戶密碼實(shí)現(xiàn)自動(dòng)登錄的方法
- ASP.NET中Cookie的使用方法