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


How can I delete all cookies that the browser added during one request?

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

例如,我打开索引.php它添加了自己的cookie,并在HTML文档中具有Google Analytics脚本(很少其他cookie),Facebook喜欢按钮(另一个cookie),广告脚本(其他cookie)。我最终会得到以下内容:

  • 服务器饼干
  • 谷歌分析饼干
  • 脸书喜欢饼干
  • 广告第三方饼干

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

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

出于安全原因,您既不能读取也不能写入(这意味着删除)其他域的cookie。对于仅 HTTP 的 cookie 尤其如此。

参见 我的网站如何删除其他网站的 Cookie?

如前所述,您需要通过浏览器 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;
?>