这让我发疯了。我正在设置一个带有从PHP发送的SetCookie标头的cookie,没有域。
setcookie('test','val',0,null,null,false,false);
然后firefox(我想其他浏览器)会自动选择域并使用烦人的.domain.com
将cookie提供给所有子域。但是,我想从JavaScript编辑该cookie,这怎么可能?
如果我把
document.cookie = 'test=val';
然后我得到两个名为test
的cookie,一个带有域domain.com
的cookie(从javascript设置),另一个用.domain.com
(从php发送)。由于document.cookie
和Cookie
标题本身包含无信息可以帮助区分这两个Cookie,我更加困惑!
答案 0 :(得分:1)
把:
document.cookie = "test=val; domain=.domain.com";
在Javascript中。默认情况下,域名是网页的确切域名,您需要明确地.domain.com
覆盖它。
来自PHP的Set-Cookie:
标头必须包含domain=.domain.com