如何删除浏览器在一次请求期间添加的所有cookie?

时间:2012-05-01 11:48:55

标签: php javascript cookies

我正在尝试删除浏览器请求添加到我的计算机的所有使用javascript(或php)的cookie,包括分析和iframe添加的cookie。我已经尝试过堆栈中的所有解决方案,但都没有。

例如,我打开index.php添加自己的cookie,并在HTML文档中包含Google Analytics脚本(其他一些cookie),facebook就像按钮(另一个cookie),广告脚本(其他cookie)。我最终会得到以下结论:

  • 服务器cookie
  • Google分析Cookie
  • Facebook喜欢cookies
  • 广告第三方Cookie

如何使用php脚本(ajax请求)或javascript删除所有内容?

注意:Cookie来自不同的域,如上所述

2 个答案:

答案 0 :(得分:4)

出于安全原因,您既不能读取也不能写入(也就是说删除)来自其他域的Cookie。对于仅限HTTP的cookie,尤其如此。

另见How can my website delete another site's cookies?

答案 1 :(得分:1)

如上所述,您需要通过浏览器CTRL + SHIFT + DEL进行人工交互,以清除除您自己的脚本域之外的所有内容。此处

<?php
$status = "";
foreach($_COOKIE as $k=>$v) {

    # each $k corresponds to a cookie
    # send cookie header, that tells browser to remove due to expired has passed
    # see http://php.net/manual/en/function.setcookie.php for more details
    setcookie($k, $v, time()-1000000);
$status .= "unset $k<br/>\n";
}
echo $status;
?>