寫入 Cookie
var cookie = new HttpCookie("mycookie", "cookie值");
Response.AppendCookie(cookie);
Response.Redirect("index.aspx");
讀取 Cookie
string value = Request.Cookies["mycookie"]?.Value;
進階配置選項
cookie.Expires = DateTime.Now.AddDays(7); // 過期時間(不設為會話級)
cookie.Domain = ".example.com"; // 跨子域共享
cookie.Path = "/"; // 生效路徑
cookie.HttpOnly = true; // 防 XSS,JS 不可讀
cookie.Secure = true; // 僅 HTTPS 傳輸
cookie.SameSite = SameSiteMode.Lax; // CSRF 防護
最佳實踐
- 敏感數據**勿**存 Cookie(Token、用戶 ID 建議加密或用 Server-Side Session)。
- 單個 Cookie 限制 4KB,數量每域約 50-180 個,勿濫用。
- 關鍵業務狀態用 Server-Side 存儲,Cookie 僅存識別符。