PHP Cookie 是一种在客户端(浏览器)存储数据的方式,服务器可以通过 PHP 的 setcookie()
函数设置 Cookie,然后在后续请求中通过 $_COOKIE
变量读取这些数据。Cookie 通常用于存储用户会话信息、偏好设置等。
跨顶级域名(Cross-Top-Level Domain, TLD)指的是在不同的顶级域名(如 .com
, .net
, .org
)之间共享 Cookie。这通常用于实现跨子域名的单点登录(SSO)或其他需要跨域名共享数据的场景。
PHP Cookie 默认情况下只能在设置它的域名及其子域名之间共享。跨顶级域名的 Cookie 设置需要特殊处理。
浏览器的安全策略限制了跨顶级域名的 Cookie 设置,以防止跨站请求伪造(CSRF)和其他安全问题。
sub1.example.com
和 sub2.example.com
。假设我们有两个顶级域名 example1.com
和 example2.com
,我们希望在 example1.com
设置的 Cookie 能够在 example2.com
读取。
// 在 example1.com 上设置 Cookie
setcookie("user_id", "12345", time() + 3600, "/", ".example1.com", false, true);
// 在 example2.com 上读取 Cookie
if (isset($_COOKIE["user_id"])) {
echo "User ID: " . $_COOKIE["user_id"];
} else {
echo "Cookie not found";
}
请注意,跨顶级域名 Cookie 的设置和使用需要谨慎处理,以确保符合相关的安全和隐私标准。
领取专属 10元无门槛券
手把手带您无忧上云