回答
你不能强迫浏览器删除任何Cookie相关联的文件,因为你不能保证真正有这样一个文件 - 关于饼干的浏览器和Web服务器之间的合同数据将在合格的请求中呈现。
您声明您“不想等待Cookie过期”,但是Cookie过期是指示数据不再需要的正确方法,不应在将来的请求中显示,而在大多数情况下案例确实转化为浏览器删除文件。
因此,要删除一个cookie,将其到期时间设置为过去。在PHP中,这是通过setcookie()
完成的。
这是最接近的答案(即第1段)。谢谢。 – 2009-09-22 13:00:25
是的。使用setcookie()
并将您希望删除的cookie的到期日期设置为过去的时间。用户的浏览器应该自动删除它。
我为我写了这个插件并正常工作。
(function($) {
$.cookieAllDelete = function(doc)
{
var cookie_date = new Date();
var cookies = null;
cookies = doc.cookie.split(';');
cookie_date.setTime(cookie_date.getTime() - 1);
for(var i=0; i < cookies.length; i++)
{
var cookie_name = cookies[i].split('=')[0];
try {
if (cookie_name.length > 0)
doc.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
} catch(ex) {}
}
}
})(jQuery);
jQuery.cookieAllDelete(document);
尝试这样的事情来删除所有cookie:
foreach ($_COOKIE as $name => $value) {
setcookie($name, '', 1);
}
价值1
是到期值,它代表了一个后第二的开始Unix时间划时代的。所以它总是已经过期。
我认为你必须使用相结合的办法:在过去
- 集过期回来的路上(由Chacha102的建议)
- 使用JavaScriptto删除了document.cookie DOM对象条目(所建议安德烈斯descalzo)
有与混合的方法去2个很好的理由:
- 可以在浏览器中禁用JavaScript
- 并非所有cookie都可以在document.cookie中看到某些现代浏览器支持cookies的httponly标志。 PHP拥有的HttpOnly饼干支持,请http://www.php.net/setcookie
'似乎删除cookie比看起来更困难。
setcookie($name, '', 1);
不会这样做。 ''
为空,setcookie
可以忽略整个指令。
而且设置时间过去,有时允许cookie来保持其到期时间较新,1
我处理这对现在的价值。我不知道它来自哪里,但它在那里。
我使出
setcookie($name, '0', 9000000000);
这保证了cookie设置为可解析为假的值,它比以往的任何值更新。
如果有人对此行为有任何了解,请告诉。
我怀疑困难在于这样一个事实,即当值未指定时,setcookie
的域和路径值保证从执行到执行相同。
我知道这样的cookie不会在2038年左右过期。
或者,如果cookie的最新到期日期是已知的,则需要仅在1秒之后设置。
在我的情况下,setcookie不工作的原因是因为我没有对第四个参数使用相同的位置。因此,请确保您使用第4个参数的相同位置,以便成功删除cookie – Antony 2012-03-22 23:19:13
我发现您必须设置相同的参数来设置和删除cookie。 Set Cookie:setcookie($ name,$ uid',$ time,'/','',0); - 删除Cookie:setcookie($ name,$ uid',1,'/','.domain.name',0);将不起作用,第五个参数必须相同。 – Grant 2012-08-16 09:08:07
打印$ _COOKIE数组,取消设置密钥:unset($ _ COOKIE [$ name]); – ShivarajRH 2017-02-28 09:21:49
- 1. 从浏览器中删除HTTP_COOKIE cookie
- 2. 删除浏览器Cookie(跨域)
- 3. 关闭浏览器时cookie被删除
- 4. 浏览器何时删除会话cookie?
- 5. 删除Java中的cookie /浏览器如何删除cookies
- 6. 从Eclipse的内部Web浏览器中删除cookie和缓存
- 7. 如何从浏览器的cookie存储中删除sessionid
- 8. 删除Cookie当用户手动从浏览器
- 9. 如何从浏览器中删除cookies?
- 10. Javascript:从浏览器中删除图像
- 11. javascript删除Cookie在浏览器中的工作奇怪
- 12. 删除WPF Web浏览器控件中的cookie
- 13. 使用Javascript删除浏览器中的Identity Server Cookie
- 14. AutoLogin Cookie在浏览器退出时在CakePHP 2x中被删除
- 15. Cookie和浏览器
- 16. 错误清除当浏览器cookie C#
- 17. 打开浏览器后清除cookie
- 18. 从当时的浏览器中删除jsessionid cookie会话将失效
- 19. 如何从浏览器中删除JSESSIONID cookie,并使用HttpOnly标志设置
- 20. 从本地页面删除存储在浏览器中的所有Cookie
- 21. 如何删除C#网页浏览器的Cookie?
- 22. 当我关闭浏览器时Cookie被删除?
- 23. 关闭浏览器时停止删除cookie
- 24. 如何以编程方式删除Safari浏览器Cookie
- 25. 浏览器重新启动后奇怪的Cookie被删除
- 26. 浏览器关闭后验证/会话cookie删除
- 27. 请记住我关闭浏览器时删除symfony2 cookie
- 28. 的JavaScript Opera浏览器 - 删除会话cookie和重载页面
- 29. 的WinForms web浏览器:如何删除Cookie
- 30. 浏览器 - 强制重新加载删除Cookie?
您可以“礼貌地要求”浏览器通过将其值设置为空字符串或将过期时间设置为过去的某个日期或使用$ cookie-> delete()从https中删除cookie ://github.com/delight-im/PHP-Cookie – caw 2016-07-13 00:26:18