饼干被设置两次

时间:2012-05-19 11:45:47

标签: php cookies

为什么我的网站会设置两次Cookie?为“www.example.com”存储了一组cookie,并为“example.com”存储了相同的一组。

1 个答案:

答案 0 :(得分:5)

最有可能的是,您允许通过域名example.comwww.example.com访问您的网站,而您尚未指定应为其设置Cookie的域名。 fifth parameter to setcookie()指定域,因此仅将其设置为example.com。这将使其可用于更高的域www.example.com

setcookie('key', 'value', time(), '/path', 'example.com');

通过URL重写,您可以在设置Cookie之前强制您网站的所有用户访问这些域中的一个或另一个域,但这仅仅是用户体验一致性的解决方案,而不是管理Cookie的方法。

来自文档:

  

     

Cookie可用的域。将域设置为“www.example.com”将使www子域和更高子域中的cookie可用。可用于较低域名的Cookie(例如“example.com”)可用于更高的子域名,例如“www.example.com”。仍旧实施已弃用的RFC 2109的旧版浏览器可能需要领先。匹配所有子域。

相关问题