有一个应用程序不是由我编写的,也不是用PHP编写的,它为域名www.example.com
创建了一个cookie。
我正在尝试替换那个cookie。因此,在PHP中我做了以下操作:
setcookie('mycookie','mydata',time() + 2*7*24*60*60,'/','www.example.com', false);
然而,生成的Cookie是为域名.www.example.com
创建的,注意域名前面的点号“.”。
因此它并没有替换掉原有的Cookie,而是创建了另一个Cookie。
www.domain.com
和.www.domain.com
(注意前导点)在RFC 6265中至少被视为相同,这是每个现代浏览器实现的。它说前导点只是被忽略。但如果cookie不能成功地互相覆盖,这可能是由于“路径”、“域”、“安全”或“httpOnly”的属性差异,我们在此无法看到。一般来说,您可以尝试使用https://github.com/delight-im/PHP-Cookie来更轻松地管理cookie。 - caw