【问题标题】:Strange unset cookie problem奇怪的未设置cookie问题
【发布时间】:2010-05-07 02:41:44
【问题描述】:

我有一个奇怪的问题,通过 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 上测试过)

【问题讨论】:

    标签: php cookies setcookie


    【解决方案1】:

    您有重叠的 cookie 域。 www.neobie.net 将收到在 .neobie.net 上设置的 cookie。所以不需要在两个域上设置相同的cookie。

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

    【讨论】:

    • 是的,我知道 www.neobie.net 可以接收为域 .neobie.net 设置的 cookie,但是由于脚本编写的一些粗心,我没有为 setcookie() 指定域,因此没有指定 www。 neobie.net 域 cookie 已设置。现在我想知道如何清除 cookie,即使它是 www.neobie.net 。确实,我从 www.neobie.net 注销,但 www.neobie.net 域 cookie 根本无法清除。
    猜你喜欢
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多