中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

ASP.NET中Cookie的使用方法
來源:易賢網 閱讀:892 次 日期:2016-08-09 15:15:59
溫馨提示:易賢網小編為您整理了“ASP.NET中Cookie的使用方法”,方便廣大網友查閱!

Cookie 為 Web 應用程序保存用戶相關信息提供了一種有用的方法。例如,當用戶訪問站點時,可以利用 Cookie 保存用戶首選項或其他信息,這樣,當用戶下次再訪問站點時,應用程序就可以檢索以前保存的信息。

從技術上講,Cookie是小段保存在客戶端的數據(如果你安裝的是XP,可以看一下<安裝Windows的盤>:\Documents and Settings\<用戶名>\Cookies文件夾)。用戶訪問網站的時候,網站會給用戶一個包含過期時間的Cookie,瀏覽器收到Cookie后就存放在客戶端的文件夾下。以后用戶每次訪問網站頁面的時候,瀏覽器會根據網站的URL在本地Cookie文件夾內查找是否存在當前網站關聯的Cookie,如果有的話就連同頁面請求一起發送到服務器。

一、關于Cookie的知識還需要了解以下幾點。

·Cookie只是一段字符串,并不能執行。

·大多數瀏覽器規定Cookie大小不超過4K,每個站點能保存的Cookie不超過20個,所有站點保存的Cookie總和不超過300個。

·除了Cookie外,幾乎沒有其他的方法在客戶端的機器上寫入數據(就連Cookie的寫入操作也是瀏覽器進行的)。當然,連Cookie都可以通過瀏覽器安全配置來禁止。如果你使用IE瀏覽器,可以看一下“工具”→“Internet”選項→“隱私”一頁。現在的大多數網站都利用Cookie來保存一些數據(比如你的ID),以便你下一次訪問網站時能直接“繼續”以前的配置,所以我還是建議你不要輕易關閉Cookie。

在使用Cookie時,必須意識到其固有的安全弱點。Cookie畢竟是存放于客戶端的。因此,不要在Cookie中保存保密信息,如用戶名、密碼、信用卡號等。在Cookie中不要保存不應該由用戶掌握的內容,也不要保存可能被其他竊取Cookie的人控制的內容。

二、Cookie的使用

下面,我們就來討論如何保存、讀取、刪除和修改Cookie。首先在頁面上添加4個按鈕用來完成這4個操作。

代碼如下:

<asp:Button ID="btn_SaveCookie" runat="server" OnClick="btn_SaveCookie_Click" Text="保存Cookie" />

<asp:Button ID="btn_ReadCookie" runat="server" Text="讀取Cookie" OnClick="btn_ReadCookie_Click" />

<asp:Button ID="btn_ModifyCookie" runat="server" OnClick="btn_ModifyCookie_Click" Text="修改Cookie" />

<asp:Button ID="btn_DelCookie" runat="server" Text="刪除Cookie" OnClick="btn_DelCookie_Click" />

保存Cookie的方法如下。

代碼如下:

protected void btn_SaveCookie_Click(object sender, EventArgs e)

{

    HttpCookie SingleValueCookie = new HttpCookie("test1", "單值Cookie");

    SingleValueCookie.Expires = DateTime.Now.AddDays(1);

    Response.Cookies.Add(SingleValueCookie);

    HttpCookie MultiValueCookie = new HttpCookie("test2");

    MultiValueCookie.Values.Add("key1", "value1");

    MultiValueCookie.Values.Add("key2", "value2");

    MultiValueCookie.Expires = DateTime.Now.AddDays(1);

    Response.Cookies.Add(MultiValueCookie);

}

我們可以看到,一個Cookie中允許保存單個值也可以保存多個值。HttpCookie類型表示一個Cookie,Expires屬性用于修改Cookie的過期時間。對于單值Cookie,既可以直接在構造方法中指定值也可以使用Value屬性指定值。對于多值Cookie,既可以使用Values屬性的Add方法添加子鍵和值,也可以直接使用Values屬性的索引設置子鍵和值。上面這段代碼等價于下面這段代碼。

代碼如下:

protected void btn_SaveCookie_Click(object sender, EventArgs e)

{

    HttpCookie SingleValueCookie = new HttpCookie("test1");

    SingleValueCookie.Value = "單值Cookie";

    SingleValueCookie.Expires = DateTime.Now.AddDays(1);

    Response.Cookies.Add(SingleValueCookie);

    HttpCookie MultiValueCookie = new HttpCookie("test2");

    MultiValueCookie.Values["key1"] = "value1";

    MultiValueCookie.Values["key2"] = "value2";

    MultiValueCookie.Expires = DateTime.Now.AddDays(1);

    Response.Cookies.Add(MultiValueCookie);

}

在添加完值以后,務必記得使用Response對象把Cookie重新返回給瀏覽器。我們的服務器不能直接在客戶端機器上寫Cookie,而是由瀏覽器完成這一工作,當然用戶也可以設置是否允許瀏覽器讀寫Cookie。

下面是讀取Cookie的操作。

代碼如下:

protected void btn_ReadCookie_Click(object sender, EventArgs e)

{

    HttpCookie SingleValueCookie = Request.Cookies["test1"];

    if (SingleValueCookie != null)

    {

        Response.Write(string.Format("Key:{0} Value:{1} Expires:{2}<br/>", "test1", SingleValueCookie.Value, SingleValueCookie.Expires));

    }

    HttpCookie MultiValueCookie = Request.Cookies["test2"];

    if (MultiValueCookie!= null)

    {

        Response.Write(string.Format("Key:{0} Value:{1}<br/>", "test2", MultiValueCookie.Value));

        foreach (string subkey in MultiValueCookie.Values.AllKeys)

        {

            Response.Write(string.Format("SubKey:{0} Value:{1} Expires:{2}<br/>", subkey, MultiValueCookie.Values[subkey], MultiValueCookie.Expires));

        }

    }

}

對于多值Cookie,我們通過遍歷AllKeys屬性返回的字符串數組獲取所有子鍵Key,從而獲得子鍵的值。要注意的是,在訪問Cookie以前,需要檢測一下Cookie是否存在。打開頁面,先單擊“保存Cookie”按鈕,然后單擊“讀取Cookie”按鈕,得到以下輸出:

Key:test1 Value:單值Cookie Expires:0001-1-1 0:00:00

Key:test2 Value:key1=value1&key2=value2

SubKey:key1 Value:value1 Expires:0001-1-1 0:00:00

SubKey:key2 Value:value2 Expires:0001-1-1 0:00:00

這里要說明以下幾點。

·我們發現,所有Cookie的過期時間都不能正常顯示。這是因為瀏覽器返回給服務器的Cookie是不包含過期時間的,而服務器返回給瀏覽器的Cookie是包含過期時間的。過期時間只對客戶端瀏覽器有意義,對服務器來說沒有什么意義。

·直接讀取多值Cookie的Value,它會把所有子鍵和子鍵值都使用key=value方法顯示,多個子鍵使用“&”連接(類似URL的方式)。

下面是刪除Cookie的操作。

代碼如下:

protected void btn_DelCookie_Click(object sender, EventArgs e)

{

    HttpCookie SingleValueCookie = Request.Cookies["test1"];

    SingleValueCookie.Expires = DateTime.MinValue;

    Response.Cookies.Add(SingleValueCookie);

}

如果你想刪除所有Cookie,可以遍歷刪除。

代碼如下:

protected void btn_DelCookie_Click(object sender, EventArgs e)

{

    foreach (string key in Request.Cookies.AllKeys)

    {

        HttpCookie cookie = Request.Cookies[key];

        cookie.Expires = DateTime.MinValue;

        Response.Cookies.Add(cookie);

    }

}

我們始終要記住,服務器不能直接刪除Cookie,刪除Cookie的操作是瀏覽器進行的。說是刪除,其實是把它的過期時間設置為過去的時間,讓Cookie過期。因此,對于刪除操作來說有三個步驟。

1.從Request對象中獲取Cookie。

2.把Cookie的過期時間設置為過去的時間。

3.把Cookie重新寫回Response中。

4.修改Cookie的操作也非常簡單。

代碼如下:

protected void btn_ModifyCookie_Click(object sender, EventArgs e)

{

    HttpCookie SingleValueCookie = Request.Cookies["test1"];

    SingleValueCookie.Value = "修改后的單值Cookie";

    Response.Cookies.Add(SingleValueCookie);

}

三、Cookie使用擴展

(1)編寫Cookie

代碼如下:

//方式1:

Response.Cookies["username"].value="mike";

Response.Cookies["username"].Expires=DateTime.MaxValue;

//方式2:

HttpCookie acookie = new HttpCookie("last");

acookie.Value="a";

acookie..Expires=DateTime.MaxValue;

Response.Cookies.Add(acookie);

//多值Cookie的寫法

代碼如下:

//方式1:

Response.Cookies["userinfo1"]["name"].value="mike";

Response.Cookies["userinfo1"]["last"].value="a";

Response.Cookies["userinfo1"].Expires=DateTime.MaxValue;

//方式2:

HttpCookie cookie = new HttpCookie("userinfo1");

cookie.Values["name"]="mike";

cookie.Values["last"]="a";

cookie.Expires=DateTime.MaxValue;

//cookie.Expires = System.DateTime.Now.AddDays(1);//設置過期時間 1天

Response.Cookies.Add(cookie);

(2)讀取Cookie

Internet Explorer 將站點的 Cookie 保存在文件名格式為 <user>@<domain>.txt 的文件中,其中 <user> 是您的帳戶名。

注意:在獲取Cookie的值之前,應該確保該 Cookie 確實存在。否則,您將得到一個異常

代碼如下:

If (Request.Cookies["userName"]!=null)

{

    string str = Request.Cookies("userName").Value;

}

//多值Cookie的讀取

If ( Request.Cookies["userInfo1"]!=null )

{

    string name=Request.Cookies["userInfo1"]["name"];

    string last=Request.Cookies["userInfo1"]["last"];

}

//讀取 Cookie 集合

for(int i = 0 ;i<Request.Cookies.Count ;i++)

{

    HttpCookie cookies = Request.Cookies;

    Response.Write("name="+cookies.Mame+"<br/>");

    if (cookies.HasKeys )//是否有子鍵

    {

        System.Collections.Specialized.NameValueCollection NameColl

                                             = aCookie.Values ;

        for(int j=0;j<NameColl.Count;j++)

        {

            Response.Write("子鍵名="+ NameColl.AllKey[j] +"<br/>");

            Response.Write("子鍵值="+ NameColl[j] +"<br/>");

        }

    }

    else

    {

        Response.Write("value="+cookies.Value+"<br/>");       

    }

}

運行此代碼時,可看到一個名為“ASP.NET_SessionId”的Cookie,ASP.NET用這個 Cookie 來保存您的會話的唯一標識符。

(3)刪除 Cookie

將其有效期設置為過去的某個日期。當瀏覽器檢查 Cookie 的有效期時,就會刪除這個已過期的 Cookie。

代碼如下:

HttpCookie cookie = new HttpCookie("userinfo1");

cookie.Expires=DateTime.Now.AddDays(-30);

Response.Cookies.Add(cookie);

(4)修改cookie

代碼如下:

Response.Cookies["Info"]["user"] = "2";

Response.Cookies["Info"].Expires = DateTime.Now.AddDays(1);        刪除cookie下的屬性

HttpCookie acookie=Request.Cookies["Info"];

acookie.Values.Remove("userid");

acookie.Expires = DateTime.Now.AddDays(1);

Response.Cookies.Add(acookie);        刪除所有cookie,就是設置過期時間為現在就行了

int limit=Request.Cookies.Count - 1;

for(int i=0;i<limit;i++)

{

    acookie = Request.Cookies(i)

    acookie.Expires = DateTime.Now.AddDays(-1)

    Response.Cookies.Add(acookie)

}

-------------

如果有主站及二級域名站且cookie要共享的話則要加入如下設置

代碼如下:

cookie.Domain = ".主域名";

cookie.Path = "/";

四、Cookie總結

Cookie雖然是一個簡單實用的對象,但是我們也要注意Cookie的工作原理、大小限制以及安全性等,大致可以歸納為以下幾點。

·存儲的物理位置。客戶端的Cookies文件夾內。

·存儲的類型限制。字符串。

·狀態使用的范圍。當前請求上下文的上下文都能訪問到Cookie,Cookie對每個用戶來說都是獨立的。

·存儲的大小限制。每個Cookie不超過4K數據。每個網站不超過20個Cookie。所有網站的Cookie總和不超過300個。

·生命周期。每個Cookie都有自己的過期時間,超過了過期時間后失效。

·安全與性能。存儲在客戶端,安全性差。對于敏感數據建議加密后存儲。

·優點缺點與注意事項。可以很方便地關聯網站和用戶,長久保存用戶設置。

更多信息請查看網絡編程
易賢網手機網站地址:ASP.NET中Cookie的使用方法
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产精品视频99| 国产一区二区高清视频| 免费在线欧美视频| 久久久久综合一区二区三区| 亚洲狼人综合| 欧美在线91| 欧美人成在线| 国产伦精品一区二区三| 99视频精品全部免费在线| 欧美一区二区福利在线| 欧美日本韩国在线| 亚洲久久成人| 美女视频网站黄色亚洲| 国产日韩欧美综合一区| 亚洲系列中文字幕| 男男成人高潮片免费网站| 国产一区二区三区久久悠悠色av | 国产美女高潮久久白浆| 黄色精品在线看| 久久精品视频免费观看| 国产麻豆91精品| 日韩一区二区精品视频| 欧美人与性禽动交情品| 亚洲欧洲日产国产网站| 久久国产色av| 亚洲国产精品一区二区www| 久久久噜噜噜久噜久久| 国产午夜久久久久| 久久精品视频在线播放| 国产美女精品免费电影| 亚洲一区二区免费视频| 国产精品永久入口久久久| 一区二区三区高清不卡| 欧美日韩高清一区| 亚洲午夜久久久久久久久电影网| 欧美啪啪一区| 一区二区欧美精品| 国产欧美亚洲一区| 亚洲欧美日韩精品久久奇米色影视| 国产精品白丝黑袜喷水久久久| 欧美一区在线视频| 韩国成人理伦片免费播放| 久久精品国产亚洲aⅴ| 亚洲高清av在线| 欧美成人综合网站| 亚洲精品中文在线| 欧美亚洲不卡| 羞羞视频在线观看欧美| 国产亚洲一级| 欧美片在线观看| 亚洲一区免费| 国产综合18久久久久久| 欧美华人在线视频| 亚洲深夜福利| 国产一区日韩欧美| 欧美日韩国产在线| 午夜精品一区二区在线观看| 国产一区二区剧情av在线| 欧美成人激情在线| 一区二区三区高清不卡| 国产麻豆成人精品| 欧美成人精品一区二区三区| 亚洲视频你懂的| 国产欧美一区二区精品仙草咪| 欧美韩日一区二区| 亚洲欧美日韩精品久久久| 国产视频一区二区三区在线观看| 欧美国产日韩一二三区| 亚洲综合日韩在线| 在线观看日韩www视频免费 | 欧美日韩国产欧美日美国产精品| 99这里只有精品| 国产欧美午夜| 欧美三级黄美女| 久久国产婷婷国产香蕉| 亚洲精品在线观看免费| 国产一区在线看| 欧美精品一区视频| 欧美伊人久久大香线蕉综合69| 亚洲麻豆视频| 国产婷婷精品| 欧美日韩成人一区| 欧美成人精精品一区二区频| 亚洲欧美日韩在线播放| 亚洲级视频在线观看免费1级| 国产亚洲成av人在线观看导航 | 久久黄色网页| 国产精品美女一区二区在线观看| 免费看精品久久片| 亚洲欧美久久久久一区二区三区| 亚洲大胆女人| 国内外成人在线视频| 欧美三级午夜理伦三级中视频| 久久国产一区| 欧美一区二区播放| 夜夜嗨av一区二区三区| 黄色成人av| 国产精品永久免费| 欧美日韩亚洲另类| 欧美激情亚洲精品| 亚洲欧美国产不卡| 洋洋av久久久久久久一区| 国产亚洲精品bt天堂精选| 欧美日韩国产综合网| 久久久亚洲影院你懂的| 亚洲欧洲日本一区二区三区| 国产三级欧美三级| 国产精品va| 欧美日韩另类视频| 欧美大片在线观看一区| 久久手机免费观看| 欧美在线观看网站| 午夜精品久久久久久久蜜桃app| 日韩午夜精品| 亚洲精品日韩欧美| 亚洲国产清纯| 亚洲电影av在线| 亚洲三级电影在线观看| 国内精品嫩模av私拍在线观看| 国产精品美女一区二区在线观看| 国产精品日韩欧美一区二区三区| 欧美日本三区| 久久尤物电影视频在线观看| 久久综合狠狠| 久久亚洲欧洲| 欧美一区二区三区视频在线观看 | 夜夜爽www精品| 在线观看日韩专区| 亚洲电影在线观看| 在线欧美亚洲| 国产综合在线视频| 一区二区在线观看av| 精品成人在线观看| 在线精品福利| 国产一区二区久久| 黑人巨大精品欧美一区二区小视频 | 国产精品青草久久久久福利99| 久久看片网站| 国产欧美一区二区三区在线看蜜臀| 欧美日韩视频专区在线播放 | 国内久久婷婷综合| 亚洲国产婷婷香蕉久久久久久| 亚洲国产欧美在线人成| **性色生活片久久毛片| 日韩亚洲欧美成人| 夜夜嗨av一区二区三区| 在线综合亚洲| 久久久www成人免费无遮挡大片| 久久一区二区三区四区| 奶水喷射视频一区| 国产精品福利网| 国产日韩精品一区二区三区| 韩日成人在线| 在线亚洲伦理| 欧美在线视频日韩| 欧美freesex8一10精品| 欧美日韩国内自拍| 中日韩男男gay无套| 欧美日韩1区2区| 狠狠色2019综合网| 亚洲大胆av| 国产亚洲精品久久久久婷婷瑜伽| 国产欧美一区二区白浆黑人| 亚洲国产天堂网精品网站| 亚洲美女av网站| 亚洲欧美激情一区二区| 欧美大胆成人| 国产精品久久久久毛片大屁完整版| 国产欧美在线观看| 亚洲韩国精品一区| 亚洲无限乱码一二三四麻| 久久精精品视频| 国产精品高潮呻吟视频| 伊人天天综合| 日韩视频免费在线| 久久久91精品国产一区二区三区 | 欧美揉bbbbb揉bbbbb| 伊人久久大香线| 亚洲伊人久久综合| 久久躁日日躁aaaaxxxx| 国产婷婷97碰碰久久人人蜜臀| 亚洲人成高清| 欧美一区亚洲| 国产精品嫩草99av在线| …久久精品99久久香蕉国产| 在线视频一区观看| 欧美黄色免费| 国产亚洲va综合人人澡精品| 激情偷拍久久| 久久精品一区二区三区不卡| 欧美日韩一区二区三区| 欧美日韩一区二区精品| 91久久夜色精品国产网站| 欧美在线观看一区| 欧美一区视频| 欧美性淫爽ww久久久久无| …久久精品99久久香蕉国产| 浪潮色综合久久天堂| 一区二区高清| 欧美成人午夜激情在线|