如何获取特定cookie的域?

发布于 2024-12-12 02:17:57 字数 323 浏览 0 评论 0原文

有一个网站 www.example.com
所有 Cookie 均设置为 www 子域。
现在有一个新的子域,我希望所有子域都能看到 cookie。

目标是将所有老访问者的 www.example.com cookie 重写为 .example.com 或为 .example.com 编写新的 cookie 如果设置为 www。

为此,我想获取现有 cookie 的域。
是否可以?有没有用于此目的的 php 函数?

There is a web site www.example.com
All cookies are set to the www subdomain.
Now there is a new subdomain and I want the cookies to be seen for all subdomains.

The goal is to rewrite the www.example.com cookies for all the old visitors to be .example.com or to write new ones for .example.com if set for www.

For this I want to get the domain of the existing cookies.
Is it possible? Is there a php function for this purpose?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

海风掠过北极光 2024-12-19 02:17:57

我认为读取cookie时域名不可用,这是受浏览器限制的。解决方案是删除旧的 cookie 并将其更改为新域。

例如

$value = $_COOKIE['TestCookie'];
setcookie("TestCookie", "", time() - 3600, "www.example.com");
setcookie("TestCookie", $value, time + (60 * 60 * 24 * 30), ".example.com");

I don't think the domain is available when reading cookies, this is limited by the browser. A solution would be to remove the old cookie and change it to the new domain.

E.g.

$value = $_COOKIE['TestCookie'];
setcookie("TestCookie", "", time() - 3600, "www.example.com");
setcookie("TestCookie", $value, time + (60 * 60 * 24 * 30), ".example.com");
七秒鱼° 2024-12-19 02:17:57

如果我理解正确的话,您想更改客户端上当前存在的 cookie 的域吗?

这是不可能的(*)。

当获取 cookie 服务器端时,您是否可以查看它是否为 www 域设置,并记住从客户端传递的 cookie 没有域信息?

(*) 在客户端使用 JavaScript 可能是可行的。

If I understand you correctly you want to change the domain of the cookies currently existing on the clients?

This is not possible(*).

When getting a cookie server side, is it possible for you to see if it was set for the www domain, keeping in mind that the cookie passed form the client has no domain information?

(*) It might be possible with JavaScript on the client side.

浅暮の光 2024-12-19 02:17:57

您可以使用 PHP 函数 session_get_cookie_params()。我希望这能完成这项工作。

domain:"www.domain_name.com"
httponly:false
lifetime:1525181833
path:"/"
secure:false

You can use PHP function session_get_cookie_params(). I hope this will make the job.

domain:"www.domain_name.com"
httponly:false
lifetime:1525181833
path:"/"
secure:false
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文