有一个网站www.example.com
所有cookie都设置为www子域
现在有一个新的子域名,我希望所有子域名都可以看到cookie。
目标是将所有旧访问者的www.example.com cookie重写为.example.com,或者为.example.com编写新的访问者(如果设置为www)。
为此,我想获得现有cookie的域名 可能吗?是否有用于此目的的php函数?
答案 0 :(得分:4)
我认为在阅读Cookie时域名不可用,这受到浏览器的限制。解决方案是删除旧cookie并将其更改为新域。
E.g。
$value = $_COOKIE['TestCookie'];
setcookie("TestCookie", "", time() - 3600, "www.example.com");
setcookie("TestCookie", $value, time + (60 * 60 * 24 * 30), ".example.com");
答案 1 :(得分:1)
如果我理解正确,您想要更改客户端上当前存在的Cookie的域名吗?
这是不可能的(*)。
当获得cookie服务器端时,您是否有可能看到它是否为www域设置,请记住从客户端传递的cookie没有域信息?
(*)可能在客户端使用JavaScript。
答案 2 :(得分:1)
您可以使用PHP函数session_get_cookie_params()。我希望这能成功。
domain:"www.domain_name.com"
httponly:false
lifetime:1525181833
path:"/"
secure:false