【发布时间】:2012-02-23 07:39:36
【问题描述】:
我正在尝试从“example.com”设置一个 cookie,以便只有“site.example.com”可以访问它。问题是由于某种原因这不起作用。 例如,下面的代码可以正常工作:
setcookie('my_var', "hello", time()+3600, "/", 'example.com');
也就是说,当从 example.com 运行时,我可以从 site.example.com 看到“my_var”cookie。但是,下面的代码并没有设置cookie:
setcookie('my_var', "hello", time()+3600, "/", 'site.example.com');
(如果我在前面加上一个点,例如“.site.example.com”,也不会)
使用 php 5.3.8 和铬
【问题讨论】:
-
如果您检查请求中的标头,您可能会发现正在发送 cookie 标头,但您的浏览器忽略了它
-
您不能为子域设置cookie,只能为同域或超级域设置cookie。
-
@gumbo:你的意思是我可以从 site.example.com 设置一个 cookie 来访问 example.com,但不能以其他方式访问?
-
@periklis 是的,完全正确。另请参阅stackoverflow.com/a/5258477/53114。
-
@periklis 我已经发布了一个指向相应 RFC 的链接并更新了帖子只是为了符合最近的 RFC 更新。