2

我有一个奇怪的问题。我有一个脚本,它将为每个访问的页面添加一个数字到一个数组中,然后将其放入 cookie 中。

然后在另一个页面上,它将显示 cookie 中的数字列表。

它在我的域 (https) 上与 WWW 完美运行:https: //www.mydomain.com

问题是如果没有 WWW ( https://mydomain.com )它将无法工作。似乎有两种不同的 cookie:一种用于https://mydomain.com,另一种用于https://www.mydomain.com

我还想共享没有 https 的子域的 cookie

所以基本上它应该是相同的cookie:

https://www.domain.com
https://domain.com
http://subdomain.domain.com

我怎样才能做到这一点?

目前,我使用:

setcookie("viewed_articles", serialize($lastviewedarticles));
4

3 回答 3

6

那是正确的行为。当您设置 cookie 时,您需要将其设置为.domain.com,它将适用于包含在domain.com.

setcookie("viewed_articles", serialize($lastviewedarticles), time()+60*60*24*30, '/', '.domain.com');

此处的代码将 cookie 设置为 30 天,并且对于整个domain.com

于 2013-03-07T19:39:29.590 回答
0

在 cookie 中设置域,以及仅 http 值 active 以避免可能的 xss

setcookie("viewed_articles", serialize($lastviewedarticles), time()+3600, '/', '.yourdomain.com',0,1);
于 2013-03-07T19:46:15.547 回答
0

有关setcookie,请参阅php-docs 。您可以在过期值之后添加域和路径。

设置路径/和域以.mydomain.com使 cookie 对您的站点具有全局性。

于 2013-03-07T19:41:56.953 回答