如何仅为域(没有子域)设置cookie?

时间:2012-08-21 22:03:38

标签: php cookies

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

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

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

显然,这是无法做到的。

如果有人找到了办法,我会改变接受的答案。

答案 1 :(得分:1)

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

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

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

setcookie("TestCookie", "SomeValue", time()+3600, "/~rasmus/", ""); 

答案 2 :(得分:0)

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