1

我有一个奇怪的问题是通过 PHP 清除 Cookie。

假设我有一个域neobie.net ,我将“记住用户登录”cookie 名称存储为“ USER_INFO ”,其中包含用于在下次重新访问时识别用户登录的字符串。

现在使用Firefox,我看到我有2个cookie USER_INFO,域为“www.neobie.net”和“.neobie.net”,过期日期为1周后。

我编写了一个 logout.php 脚本,它清除不同域(.neobie.net、www.neobie.net、neobie.net)的 cookie,以确保完全清除不同域的USER_INFO cookie。

现在是问题所在。当用户访问 logout.php 时,用户无法清除 cookie

我发现,我必须手动删除域为“ www.neobie.net ”的cookie,保持“.neobie.net”不变,然后只能清除cookie。

所以,我必须让 php 脚本在“.neobie.net”上设置cookie USER_INFO,并阻止它在“www.neobie.net”上设置cookie,以使logout.php 脚本工作。

但我不明白为什么我无法清除“www.neobie.net”的 cookie(带有领先的 www. ,在 firefox 和 chrome 上测试过)

4

1 回答 1

1

您有重叠的 cookie 域。www.neobie.net 将收到在 .neobie.net 上设置的 cookie。因此无需在两个域上设置相同的 cookie。

如果您的注销 URL 以http://www.neobie.net开头,您应该能够清除 www.neobie.net 域上的 cookie。HTTP 标头跟踪会有所帮助。

于 2010-05-07T03:31:42.447 回答