PHP Cookie 是一种在客户端存储数据的方法,可以在多个页面之间共享数据
-
设置 Cookie: 使用
setcookie()
函数设置 Cookie。该函数接受 7 个参数:Cookie 名称、值、过期时间(可选)、路径(可选)、域名(可选)、安全标志(可选)和 HttpOnly 标志(可选)。示例:
setcookie("username", "John", time() + 3600, "/"); // 1小时后过期
-
读取 Cookie: 使用
$_COOKIE
超全局数组读取 Cookie 值。例如,要获取名为 “username” 的 Cookie 值,可以使用$_COOKIE["username"]
。示例:
echo $_COOKIE["username"]; // 输出 "John"
-
删除 Cookie: 要删除 Cookie,可以将其过期时间设置为过去的时间。使用
setcookie()
函数,并将过期时间设置为 0 或更小。示例:
setcookie("username", "", time() - 3600); // 立即删除
-
Cookie 限制:
- Cookie 必须在同一域名下共享,除非设置了
domain
参数。 - Cookie 不能跨域设置,除非设置了
domain
参数为顶级域名(例如,.example.com
)。 - 有大小限制,通常为 4KB 左右。
- 有安全标志(
secure
)可以设置,用于仅在 HTTPS 连接中传输 Cookie。 - 有 HttpOnly 标志(
httponly
)可以设置,用于防止客户端 JavaScript 访问 Cookie。
- Cookie 必须在同一域名下共享,除非设置了
-
Cookie 生命周期: Cookie 的生命周期从设置时开始,直到过期时间到达。在此期间,浏览器会在每次请求时将 Cookie 发送回服务器。可以通过设置过期时间来控制 Cookie 的生命周期。
-
Cookie 安全性: 由于 Cookie 存储在客户端,因此存在安全风险。为了防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF),可以使用安全标志(
secure
)和 HttpOnly 标志(httponly
)。
了解这些要点后,可以更安全、有效地使用 PHP Cookie 进行客户端数据存储和管理。