標籤:checkbox blog asp 二次登入 到期 erp val 查看 表示
一.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) //判斷師傅存在cookie,如果存在表示上次選擇了記住我 { 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頁面 } }
asp.net中的cookie