4

我需要为 example.com 设置 cookie,但我希望 static.example.com 没有 cookie。

在 setcookie() 中设置域参数将使它们可用于 example.com 及其所有子域,这是我不想要的。

有任何想法吗?

4

3 回答 3

3

来源:http ://www.php.net/manual/en/function.setcookie.php#93641

[..]如果句点不存在,firefox 将在域值前面加上句点(句号)。这是因为 Firefox 期望域参数值(如果存在)是域名而不是主机名。

因此,如果 www 是主机名,则使用域值为 www.example.com 的 setcookie() 是不正确的。如果要将 cookie 限制为单个主机,请将域参数提供为空字符串,例如(注意最右边的参数):

setcookie("TestCookie", "SomeValue", time()+3600, "/~rasmus/", ""); 
于 2012-08-21T22:09:19.550 回答
3

这显然是做不到的。

如果有人找到方法,我将更改接受的答案。

于 2012-08-22T23:56:49.863 回答
0

您可以明确设置 cookie 为www.example.com,而不是example.com。请记住,这www.example.com也类似于子域,在其中设置 cookie 不会影响static.example.comsomething_else.example.com

于 2012-08-21T22:10:10.943 回答