首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET Cookie 完整操作指南:建立、讀取與多值儲存

     編輯:ASP.NET 基礎

前言

Cookie 是 Web 應用程式在客戶端儲存少量資料的常用機制。ASP.NET 提供 HttpCookie 類別封裝 Cookie 操作,用法直觀且功能完整。本文透過範例說明單一值與多值 (Subkeys) 的寫入、讀取技巧。

基本單一值 Cookie

寫入 Cookie

// 建立 Cookie 物件
HttpCookie cookie = new HttpCookie("aspcn");
cookie.Value = "飛刀";                // 設定值
cookie.Expires = DateTime.Now.AddDays(7); // 設定過期天數 (可選)
Response.Cookies.Add(cookie);         // 寫入回應

讀取 Cookie

if (Request.Cookies["aspcn"] != null)
{
    string value = Request.Cookies["aspcn"].Value;
    // 輸出: 飛刀
}

進階:單一 Cookie 儲存多組鍵值 (Subkeys)

利用 HttpCookie.Values 集合 (NameValueCollection),可在同一 Cookie 下儲存多組資料,減少 Cookie 數量與請求標頭大小。

寫入多值

HttpCookie cookie = new HttpCookie("aspcn");
cookie.Values["webmaster"] = "飛刀";
cookie.Values["writer"] = "beige";
cookie.Values["LinkColor"] = "blue";
cookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(cookie);

讀取多值

HttpCookie cookie = Request.Cookies["aspcn"];
if (cookie != null)
{
    string webmaster = cookie.Values["webmaster"]; // 飛刀
    string writer = cookie.Values["writer"];       // beige
    string linkColor = cookie.Values["LinkColor"]; // blue
}

實務注意事項

  • 大小限制:單一 Cookie 上限 4 KB,總數每網域約 20-50 個,超過會被瀏覽器忽略。
  • 安全性:敏感資料 (密碼、Token) 勿直接存 Cookie,應加密或改用 Server-side Session/Database。
  • HttpOnly & Secure:cookie.HttpOnly = true 防 XSS 竊取;cookie.Secure = true 僅 HTTPS 傳輸。
  • 編碼:值含特殊字元時建議 HttpUtility.UrlEncode 寫入、UrlDecode 讀取。
  • 刪除:設定 Expires = DateTime.Now.AddDays(-1) 即可讓瀏覽器移除。

結語

掌握 HttpCookie 的單值與多值操作,並注意大小、安全、編碼等細節,即能在 ASP.NET 中靈活運用 Cookie 實現「記住我」、偏好設定、購物車等常見功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved