欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > ASP.NET中Cookie的使用方法

ASP.NET中Cookie的使用方法

熱門標簽:地圖標注專業團隊 天心智能電銷機器人 地圖定位圖標標注 代理接電話機器人如何取消 塔城代理外呼系統 地圖標注的公司有哪些 濮陽外呼電銷系統怎么樣 400電話辦理哪家性價比高 遂寧市地圖標注app

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=value1key2=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 ;iRequest.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;jNameColl.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;ilimit;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 Core 中使用Cookie中間件
  • Asp.net中安全退出時清空Session或Cookie的實例代碼
  • asp.net利用cookie保存用戶密碼實現自動登錄的方法
  • ASP.NET之Response.Cookies.Remove 無法刪除COOKIE的原因
  • ASP.NET筆記之頁面跳轉、調試、form表單、viewstate、cookie的使用說明
  • ASP.NET Cookie是怎么生成的(推薦)

標簽:本溪 吉林 汕頭 麗江 重慶 婁底 宜春 河南

巨人網絡通訊聲明:本文標題《ASP.NET中Cookie的使用方法》,本文關鍵詞  ASP.NET,中,Cookie,的,使用方法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET中Cookie的使用方法》相關的同類信息!
  • 本頁收集關于ASP.NET中Cookie的使用方法的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产在线观看一区二区| 亚洲熟女乱综合一区二区三区| 人人妻人人澡人人爽人人精品| 特一级黄色录像| 久久免费精品国产久精品久久久久| 亚洲美腿欧美偷拍| 国产福利一区二区三区视频在线 | 香蕉久久久久久久| 日韩欧美国产综合在线一区二区三区| 亚洲精品亚洲人成人网在线播放| 国产超碰在线一区| 国产精品麻豆免费版现看视频| 精品捆绑美女sm三区| 免费国产亚洲视频| 日本精品一二三区| 欧美精品aⅴ在线视频| 亚洲最色的网站| 91小宝寻花一区二区三区| www.色小姐com| 国产精品天美传媒沈樵| 国产传媒一区在线| 亚洲熟女毛茸茸| 国产农村妇女毛片精品久久麻豆| 蜜臀av一区二区在线观看| 国产人妻人伦精品1国产丝袜| 欧美一区二区性放荡片| 五月天一区二区| 最新在线黄色网址| 日韩精品中文字幕一区二区三区 | 国产成人av自拍| 日韩免费av一区| 久久久国产精华| 国产一区二区不卡老阿姨| 影音先锋制服丝袜| 国产视频一区二区三区在线观看 | 国产精品久久久久影院亚瑟| 粉嫩欧美一区二区三区高清影视| www亚洲色图| 国产午夜精品一区二区三区视频 | 日韩免费性生活视频播放| 青青草原综合久久大伊人精品 | 亚洲va国产va欧美va观看| 美女伦理水蜜桃4| 欧美一级片免费看| 老司机精品视频一区二区三区| 免费黄在线观看| 国产精品区一区二区三区| 懂色av中文字幕一区二区三区| 一区二区在线观看免费视频| 伊人开心综合网| 视频免费在线观看| 精品电影一区二区三区| 国产精品1区2区| 色视频欧美一区二区三区| 一区二区三区在线视频免费观看| 亚洲一区二区三区四区av| 久久综合精品国产一区二区三区| 白白色亚洲国产精品| 欧美一区二区免费视频| 国产成人午夜精品影院观看视频 | 国产激情精品久久久第一区二区 | 国产成人在线观看免费网站| 欧美日韩精品综合在线| 狠狠色丁香婷综合久久| 欧美日韩视频在线观看一区二区三区 | 国产另类ts人妖一区二区| 色国产精品一区在线观看| 麻豆精品视频在线观看视频| 色女孩综合影院| 久久精品噜噜噜成人av农村| 欧美做爰猛烈大尺度电影无法无天| 麻豆国产欧美一区二区三区| 欧洲精品视频在线观看| 国产精品一区二区你懂的| 这里只有精品电影| 99久久综合精品| 精品国产污网站| 日韩女优在线视频| 日韩一区中文字幕| 成年人在线免费看片| 午夜在线成人av| 91久久精品网| 国产精品亚洲成人| 精品久久免费看| www.17c.com喷水少妇| 亚洲色大成网站www久久九九| 五月天综合视频| 亚洲3atv精品一区二区三区| 在线免费日韩av| 国产精品一区二区久激情瑜伽 | 加勒比婷婷色综合久久| xxx在线播放| 国产精品麻豆视频| 亚洲人成伊人成综合网小说| 日韩免费高清电影| 99精品视频中文字幕| 久久综合九色综合97婷婷女人| 尤物网站在线观看| 亚洲曰韩产成在线| 色婷婷香蕉在线一区二区| 国产99久久久国产精品潘金网站| 日韩精品一区二区三区四区视频| 日本少妇xxxx软件| 夜夜精品浪潮av一区二区三区| 2025国产精品自拍| 国产精品一区专区| 久久久综合视频| 无码国产69精品久久久久同性| 日韩电影一区二区三区四区| 欧美日本一道本在线视频| 91农村精品一区二区在线| 日韩毛片高清在线播放| 欧洲第一无人区观看| 国产激情一区二区三区| 国产三级精品在线| 在线免费观看视频| 精品亚洲免费视频| 欧美精品一区二区三区在线播放| 魔女鞋交玉足榨精调教| 日本亚洲欧美天堂免费| 91精品午夜视频| 免费看黄色aaaaaa 片| 三级久久三级久久久| 欧美二区乱c少妇| 国产一卡二卡三卡四卡| 偷拍与自拍一区| 日韩欧美色综合| 中文字幕av网址| 久久99精品久久久久久| 久久人人爽爽爽人久久久| 亚洲精品国产91| 国产精品18久久久久久久久久久久| 国产日韩av一区二区| 久久人妻无码aⅴ毛片a片app| 国产成人小视频| 中文字幕在线不卡一区 | 无码av中文一区二区三区桃花岛| 欧美日韩国产天堂| zjzjzjzjzj亚洲女人| 婷婷一区二区三区| 日韩一区二区三区免费看 | 亚洲尤物在线视频观看| 欧美亚州韩日在线看免费版国语版| 91蜜桃免费观看视频| 亚洲一区二区三区四区五区中文| 欧美日韩欧美一区二区| 欧美肉大捧一进一出免费视频| 日韩高清在线不卡| 亚洲精品在线观| 美国黄色片视频| av一区二区久久| 亚洲h在线观看| 久久综合五月天婷婷伊人| 中文字幕资源站| 99精品久久久久久| 首页国产丝袜综合| 久久蜜臀精品av| 色婷婷综合久色| 少妇一级淫片免费放播放| 久久精品国产久精国产爱| 国产精品日韩成人| 欧美另类videos死尸| av手机在线播放| 9人人澡人人爽人人精品| 亚洲777理论| 国产亚洲欧洲997久久综合| 91成人福利视频| 人妻激情偷乱频一区二区三区| 蜜桃免费网站一区二区三区| 国产精品亲子伦对白| 欧美日韩国产小视频在线观看| 黄色片网站免费| 91香蕉视频mp4| 另类成人小视频在线| 亚洲欧美一区二区久久| 日韩视频在线观看一区二区| 亚洲最大的黄色网址| av在线播放网址| 东方aⅴ免费观看久久av| 亚洲第一成年网| 国产色一区二区| 欧美日韩在线三级| 亚洲女人毛茸茸高潮| 亚洲国产精品第一页| 国产永久精品大片wwwapp| 一区二区三区美女| 久久久精品天堂| 欧美区一区二区三区| 免费精品在线视频| 熟妇高潮一区二区| 成人激情小说乱人伦| 毛片基地黄久久久久久天堂| 亚洲精品久久嫩草网站秘色| 久久天天做天天爱综合色| 欧美日韩一级二级| 亚洲AV成人无码精电影在线| 欧美一区二区免费在线观看| 成人av综合在线| 国产综合成人久久大片91| 亚洲一区二区三区视频在线|