在PHP中,我在让浏览器删除cookie时遇到了问题。为了解决这个问题,我创建了一个简单的测试页面来完成这个任务:
// Set cookie named MrPants with value foo to expire at end of session
setcookie("MrPants", "foo", 0);加载该页面后,我在Firefox cookies菜单中看到了cookie。到现在为止还好。
然后,我跟随example #2 here删除一个cookie:
// Set that cookie's expires time in the past
setcookie("MrPants", "", time() - 3600);这没有任何效果。我也尝试过指定路径;没有更改。
在Firebug中,我在响应头中看到以下内容:
Set-Cookie ZDEDebuggerPresent=php,phtml,php3; path=/
MrPants=deleted; expires=Tue, 25-Aug-2009 15:27:46 GMT; path=/some/path这里我漏掉了什么?
发布于 2010-08-25 23:57:52
我似乎在Firefox3.5.10 (Fedora Linux)中发现了一个奇怪的地方。
我进入Preferences > Privacy > remove单个cookie并搜索cookie名称。当它被添加时,它会出现在该窗口中,但当它被删除时,它不会从该窗口中消失。您必须关闭窗口,重新打开它,然后再次搜索cookie。
更糟糕的是,如果在相同的脚本中删除并重新添加cookie,它会显示新的cookie而不会消失旧的cookie-具有相同名称和路径的多个cookie!这真的把我吓坏了。
我还没有对此提交bug,但如果其他人想要,请便。
发布于 2011-04-13 01:57:28
检查域名。可以有多个.foo.com具有相同的名称和不同的域(例如,一个cookie设置在根cookie上,另一个设置在根cookie上)。删除一个并不会删除另一个。
https://stackoverflow.com/questions/3567645
复制相似问题