asp.net中的cookie使用介紹
更新時(shí)間:2012年05月25日 23:02:57 作者:
asp.net中的cookie使用介紹,這里腳本之家將一些asp.net中的cookie操作方法整理下,需要的朋友可以參考下
一.cookie導(dǎo)讀,理解什么是cookie
1.什么是cookie:cookie是一種能夠讓網(wǎng)站服務(wù)器把少量數(shù)據(jù)(4kb左右)存儲(chǔ)到客戶端的硬盤(pán)或內(nèi)存。并且讀可以取出來(lái)的一種技術(shù)。
2.當(dāng)你瀏覽某網(wǎng)站時(shí),由web服務(wù)器放置于你硬盤(pán)上的一個(gè)非常小的文本文件,它可以記錄你的用戶id、瀏覽過(guò)的網(wǎng)頁(yè)或者停留的時(shí)間等網(wǎng)站想要你保存的信息。當(dāng)你再次通過(guò)瀏覽器訪問(wèn)該網(wǎng)站時(shí),瀏覽器會(huì)自動(dòng)將屬于該網(wǎng)站的cookie發(fā)送到服務(wù)器去,服務(wù)器通過(guò)讀取cookie,得知你的相關(guān)信息,就可以做出相應(yīng)的動(dòng)作。比如,顯示歡迎你的小標(biāo)題,不用填寫(xiě)帳號(hào)密碼直接登錄等。。
3.不同的瀏覽器存儲(chǔ)的cooks位置是也不一樣的。cookie文件的信息是不安全的,所以cookie里面的數(shù)據(jù)最好加密。
4.瀏覽器保存cookie數(shù)據(jù)有2中形式:瀏覽器的內(nèi)存中,瀏覽器所在的電腦硬盤(pán)中。
二.cookie的查看
cookie在硬盤(pán)中的存在位置查看方法:
1.將cookie寫(xiě)入瀏覽器端
HttpCookie cookie = new HttpCookie("id","234"); //創(chuàng)建cookie的實(shí)例。
Response.Cookies.Add(cookie);//將創(chuàng)建的cookie文件輸入到瀏覽器端
explain:這里相當(dāng)于在cookie文件中寫(xiě)入鍵值對(duì)為id:234,我們可以讀取這個(gè)數(shù)據(jù)
2.讀出cookie中存放的數(shù)據(jù)
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:頁(yè)面寫(xiě)出的數(shù)據(jù)就是234,從這里我們就能看出cookie的不安全性。所以使用的時(shí)候最好不要存放重要信息,如果就想存放,可以對(duì)其加密,在寫(xiě)入cookie存儲(chǔ)文件中。還有如果對(duì)其無(wú)限制的寫(xiě)入,會(huì)造成垃圾文件過(guò)多。所以我們可以給cookie文件加一個(gè)有效期。
3.cookie文件的有效期設(shè)置
HttpCookie cookie = new HttpCookie("id","234"); //創(chuàng)建cookie的實(shí)例。
cookie.Expires = DateTime.Now.AddMonths(5);//設(shè)置cookie的過(guò)期時(shí)間,5分鐘后過(guò)期,自動(dòng)清除文件
Response.Cookies.Add(cookie);//將創(chuàng)建的cookie文件輸入到瀏覽器端
Response.Write(Request.Cookies["id"].Value); //讀取cookie文件中存儲(chǔ)的值
4.cookie文件的刪除、銷毀
HttpCookie cookie = new HttpCookie("id","234"); //創(chuàng)建cookie的實(shí)例。
cookie.Expires = DateTime.Now.AddMonths(5);//設(shè)置cookie的過(guò)期時(shí)間,5分鐘后過(guò)期,自動(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í)候選擇記住我,下次無(wú)需登錄直接跳轉(zhuǎn)的內(nèi)容頁(yè))
<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的過(guò)期時(shí)間,當(dāng)前時(shí)間算往后推兩天
cookiePassWord.Expires = new DateTime(2012, 5, 27); //設(shè)置密碼cookie的過(guò)期時(shí)間,過(guò)期時(shí)間為2012年5月27日
Response.Cookies.Add(cookieUserName); //將創(chuàng)建的cookieUserName文件輸入到瀏覽器端
Response.Cookies.Add(cookiePassWord);
Response.Redirect("1.aspx"); //跳轉(zhuǎn)到你想要的頁(yè)面
}
else
{
Response.Redirect("1.aspx");//即便不記住密碼也要跳轉(zhuǎn)
}
}
}
}
else
{
Response.Redirect("1.aspx");//如果記住密碼,第二次登錄將直接進(jìn)入1.aspx頁(yè)面
}
}
五.js中的cookie以后再寫(xiě),這里我有什么錯(cuò)誤,或者你想指點(diǎn)我什么,請(qǐng)留言。謝謝!
1.什么是cookie:cookie是一種能夠讓網(wǎng)站服務(wù)器把少量數(shù)據(jù)(4kb左右)存儲(chǔ)到客戶端的硬盤(pán)或內(nèi)存。并且讀可以取出來(lái)的一種技術(shù)。
2.當(dāng)你瀏覽某網(wǎng)站時(shí),由web服務(wù)器放置于你硬盤(pán)上的一個(gè)非常小的文本文件,它可以記錄你的用戶id、瀏覽過(guò)的網(wǎng)頁(yè)或者停留的時(shí)間等網(wǎng)站想要你保存的信息。當(dāng)你再次通過(guò)瀏覽器訪問(wèn)該網(wǎng)站時(shí),瀏覽器會(huì)自動(dòng)將屬于該網(wǎng)站的cookie發(fā)送到服務(wù)器去,服務(wù)器通過(guò)讀取cookie,得知你的相關(guān)信息,就可以做出相應(yīng)的動(dòng)作。比如,顯示歡迎你的小標(biāo)題,不用填寫(xiě)帳號(hào)密碼直接登錄等。。
3.不同的瀏覽器存儲(chǔ)的cooks位置是也不一樣的。cookie文件的信息是不安全的,所以cookie里面的數(shù)據(jù)最好加密。
4.瀏覽器保存cookie數(shù)據(jù)有2中形式:瀏覽器的內(nèi)存中,瀏覽器所在的電腦硬盤(pán)中。
二.cookie的查看
cookie在硬盤(pán)中的存在位置查看方法:
1.將cookie寫(xiě)入瀏覽器端
復(fù)制代碼 代碼如下:
HttpCookie cookie = new HttpCookie("id","234"); //創(chuàng)建cookie的實(shí)例。
Response.Cookies.Add(cookie);//將創(chuàng)建的cookie文件輸入到瀏覽器端
explain:這里相當(dāng)于在cookie文件中寫(xiě)入鍵值對(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:頁(yè)面寫(xiě)出的數(shù)據(jù)就是234,從這里我們就能看出cookie的不安全性。所以使用的時(shí)候最好不要存放重要信息,如果就想存放,可以對(duì)其加密,在寫(xiě)入cookie存儲(chǔ)文件中。還有如果對(duì)其無(wú)限制的寫(xiě)入,會(huì)造成垃圾文件過(guò)多。所以我們可以給cookie文件加一個(gè)有效期。
3.cookie文件的有效期設(shè)置
復(fù)制代碼 代碼如下:
HttpCookie cookie = new HttpCookie("id","234"); //創(chuàng)建cookie的實(shí)例。
cookie.Expires = DateTime.Now.AddMonths(5);//設(shè)置cookie的過(guò)期時(shí)間,5分鐘后過(guò)期,自動(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的過(guò)期時(shí)間,5分鐘后過(guò)期,自動(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í)候選擇記住我,下次無(wú)需登錄直接跳轉(zhuǎn)的內(nèi)容頁(yè))
復(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的過(guò)期時(shí)間,當(dāng)前時(shí)間算往后推兩天
cookiePassWord.Expires = new DateTime(2012, 5, 27); //設(shè)置密碼cookie的過(guò)期時(shí)間,過(guò)期時(shí)間為2012年5月27日
Response.Cookies.Add(cookieUserName); //將創(chuàng)建的cookieUserName文件輸入到瀏覽器端
Response.Cookies.Add(cookiePassWord);
Response.Redirect("1.aspx"); //跳轉(zhuǎn)到你想要的頁(yè)面
}
else
{
Response.Redirect("1.aspx");//即便不記住密碼也要跳轉(zhuǎn)
}
}
}
}
else
{
Response.Redirect("1.aspx");//如果記住密碼,第二次登錄將直接進(jìn)入1.aspx頁(yè)面
}
}
五.js中的cookie以后再寫(xiě),這里我有什么錯(cuò)誤,或者你想指點(diǎn)我什么,請(qǐng)留言。謝謝!
相關(guān)文章
.Net行為型設(shè)計(jì)模式之命令模式(Command)
這篇文章介紹了.Net行為型設(shè)計(jì)模式之命令模式(Command),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05Blazor路由與頁(yè)面導(dǎo)航開(kāi)發(fā)介紹
這篇文章介紹了Blazor路由與頁(yè)面導(dǎo)航開(kāi)發(fā),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01詳解.net循環(huán)、邏輯語(yǔ)句塊(基礎(chǔ)知識(shí))
本篇是介紹.NET 基礎(chǔ)部分,主要簡(jiǎn)述循環(huán),判斷,對(duì)初學(xué)者具有很好的參考借鑒價(jià)值,下面就跟小編一起來(lái)看下吧2016-12-12ASP.NET?Core中Startup類、Configure()方法及中間件詳解
本文詳細(xì)講解了ASP.NET?Core中Startup類、Configure()方法及中間件,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01