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

ASP Cookies 操作完整教學:建立、讀取、多值與替代方案

     編輯:ASP 基礎

ASP Cookies 完整指南:用戶端狀態儲存與追蹤


Cookie 是伺服器寫入用戶端瀏覽器的小型文字檔,常用於識別使用者、記錄偏好設定、追蹤瀏覽行為。


建立 Cookie

<%
' 必須在 <html> 標籤之前
Response.Cookies("username") = "Alex"
' 設定過期日 (不設定則為 Session Cookie,瀏覽器關閉即失效)
Response.Cookies("username").Expires = #May 10, 2025#
%>

注意:Response.Cookies 必須在任何 HTML 輸出之前呼叫。


讀取 Cookie

<%
Dim userName
userName = Request.Cookies("username")
Response.Write("歡迎回來, " & userName)
%>

多值 Cookie (子鍵/Keys)

單一 Cookie 名稱下可儲存多組鍵值對:

<%
Response.Cookies("user")("name") = "John"
Response.Cookies("user")("email") = "john@example.com"
Response.Cookies("user")("role") = "admin"
Response.Cookies("user").Expires = DateAdd("d", 30, Now()) ' 30 天後過期
%>

讀取所有 Cookie (含多值判斷)

<!DOCTYPE html>
<html><body>
<%
Dim x, y
For Each x In Request.Cookies
  Response.Write("<p>")
  If Request.Cookies(x).HasKeys Then
    For Each y In Request.Cookies(x)
      Response.Write(x & ":" & y & "=" & Request.Cookies(x)(y) & "<br>")
    Next
  Else
    Response.Write(x & "=" & Request.Cookies(x) & "<br>")
  End If
  Response.Write("</p>")
Next
%>
</body></html>

輸出範例:

username=Alex
user:name=John
user:email=john@example.com
user:role=admin

瀏覽器不支援 Cookie 的替代方案

1. URL 參數傳遞

<a href="welcome.asp?fname=John&lname=Smith">前往歡迎頁</a>
' welcome.asp
fname = Request.QueryString("fname")
lname = Request.QueryString("lname")

2. 隱藏表單欄位

<form method="post" action="welcome.asp">
  <input type="hidden" name="fname" value="John">
  <input type="hidden" name="lname" value="Smith">
  <input type="submit" value="送出">
</form>

現代最佳實務:敏感資料請使用 Session/Token (JWT) 儲存在伺服器端或加密儲存,Cookie 僅存放非敏感識別碼。設定 HttpOnly、Secure、SameSite 屬性提升安全性 (ASP 傳統寫法需自行組標頭字串)。

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