【问题标题】:Delete all Cookies of browser using javascript使用javascript删除浏览器的所有cookies
【发布时间】:2015-03-02 15:50:05
【问题描述】:

我正在使用此 JavaScript 代码,但它只会返回特定页面的 cookie。我要清除浏览器的所有cookies

function deleteAllCookies() {
    var cookies = document.cookie.split(";");
    for (var i = 0; i < cookies.length; i++) {
        var cookie = cookies[i];
        var eqPos = cookie.indexOf("=");
        var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
        document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
    }
};

【问题讨论】:

  • 我已经在使用它,但它也返回相同
  • 您只能删除由 JavaScript 创建的 cookie - 如果 cookie 是由服务器创建的,则无法通过 JavaScript 删除它。您需要知道 cookie 的名称、路径和域,然后只有您可以可靠地删除 cookie
  • 我想清理由 facebook 和我们的 Web 应用程序创建的 cookie。这里的路径是什么.. 域是 facebook.com 名称是 cookie 的名称
  • 我认为您要做的是访问跨域cookie。由于安全原因,这是不可能的。我多么期待看到这个答案。

标签: javascript cookies


【解决方案1】:

您无法通过 Javascript 删除来自您当前所在页面之外的其他域的 cookie。这是一个浏览器安全功能。而且,如果 cookie 被标记为特定路径,则您只能从该特定路径上的页面访问它(即使来自同一个域)。

而且,对于标记为 HttpOnly 的 cookie(例如,仅限服务器端访问的 cookie),您甚至无法通过 javascript 为您自己的域删除它们。

清除所有 cookie 的唯一方法是您(用户)使用浏览器的用户界面删除 cookie 或将您的浏览器配置为在您关闭浏览器时自动清除 cookie。

【讨论】:

  • 一些网站 facebook 登录选项在我们使用该选项登录的网站上可用,从 facebook 和特定网站注销后,我们能够再次通过不同用户的 facebook 登录.. 我们如何可以保持这一点
猜你喜欢
  • 2017-09-16
  • 2023-04-02
  • 2017-02-14
  • 1970-01-01
  • 2014-01-26
  • 1970-01-01
  • 2017-07-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多