asp.net中的cookie

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.