【问题标题】:Can't delete cookie from ad server in JS无法从 JS 中的广告服务器中删除 cookie
【发布时间】:2016-07-19 16:08:36
【问题描述】:

无法使用 JavaScript 删除 cookie。 cookie 是由第三方在我的域上设置的。我正在使用以下 JavaScript,其中“cookieName”是 cookie 的名称,“路径”和“主机名”与相关 cookie 相同(主机名是我的域 - location.hostname)。 以下愉快地删除了我设置的cookie,但不触及广告cookie。

document.cookie = cookieName +'=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path='+ path +'; domain='+ hostname +';'

这可能是什么原因?

【问题讨论】:

  • 是否启用了 HttpOnly 标志?如果是这样,您将无法从 JS 访问它 - 请参阅 owasp.org/index.php/HttpOnly
  • 我的想法完全正确。或者稍后设置 cookie(对于广告 cookie 通常是这种情况,因为它们通常取决于对广告网络的各种请求)。
  • 不,没有添加HttpOnly标志,是; HostOnly Y,安全 N,会话 N,HttpOnly N

标签: javascript cookies


【解决方案1】:

解决了,原来是简单的混淆。如果您遇到同样的问题,请尝试完全省略域声明,这对我有用。用 JavaScript 写出 cookie 将域显示为“www.mydomain.co.uk”,但将其设置为 domain=www.mydomain.co.uk;将失败。在这个用例中完全省略域声明。 (因为 cookie 一直在重新创建,所以我懒得让它过期。)

document.cookie = cookieName +'=; path='+ path +';';

以上内容会清空 cookie,从而阻止它变得太大并破坏其他东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 2011-08-07
    • 2014-09-17
    相关资源
    最近更新 更多