php cookie 实现
设置 Cookie
在 PHP 中,使用 setcookie() 函数设置 Cookie。该函数接受多个参数,包括名称、值、过期时间、路径、域名、安全标志和 HTTPOnly 标志。
setcookie(
"user", // Cookie 名称
"John Doe", // Cookie 值
time() + 3600, // 过期时间(当前时间 + 1 小时)
"/", // 路径(根目录)
"example.com", // 域名
true, // 仅通过 HTTPS 传输
true // 仅 HTTP 访问,禁止 JavaScript 访问
);
Cookie 必须在输出任何内容之前设置,否则会导致错误。setcookie() 函数返回布尔值,表示是否成功设置。
读取 Cookie
通过 $_COOKIE 超全局数组读取 Cookie 的值。使用前需检查 Cookie 是否存在。
if (isset($_COOKIE["user"])) {
echo "Cookie 'user' 的值是: " . $_COOKIE["user"];
} else {
echo "Cookie 'user' 未设置";
}
修改 Cookie
修改 Cookie 的方式与设置相同,只需再次调用 setcookie() 并传入新值。
setcookie("user", "Jane Doe", time() + 3600, "/");
删除 Cookie
删除 Cookie 需将其过期时间设置为过去的时间点。
setcookie("user", "", time() - 3600, "/");
Cookie 安全性
启用 secure 和 httponly 参数提升安全性。secure 确保 Cookie 仅通过 HTTPS 传输,httponly 防止 JavaScript 访问。
setcookie("secure_cookie", "value", time() + 3600, "/", "example.com", true, true);
注意事项
Cookie 数据存储在客户端,不可信任。重要数据应结合服务器端验证。避免在 Cookie 中存储敏感信息。







