使用JavaScript禁用第三方Cookie

7

我正在努力根据数据保护规则实施新的cookie政策合规性,适用于在欧盟运营的所有公司,根据该规则,当用户使用任何网站时,他必须能够拒绝/接受除必需cookie之外的所有cookie。

在我的客户网站中,我可以看到以下第三方cookie被存储:

  • _ga - my-site
  • _gid - my-site
  • __ncuid - .doubleclick.net
  • DSID - .doubleclick.net
  • IDE - .doubleclick.net
  • 1P_JAR - .google.be
  • NID - .google.be
  • CONSENT -.google.be
  • NID - .google.com
  • AID - .google.com
  • CONSENT - .google.com
  • 1P_JAR - .google.com
  • DV - www.google.be
  • OTZ - www.google.com
  • locale - my-site
  • anonymousUserId - my-site
  • SESSID - my-site
  • JSESSIONID - my-site
  • TS01c70fa1 - my-site

在上述列表中,一些cookie是由Google标签管理器启动的Google Analytics cookie。我已经处理了它们。

但是,所有带有“Google”和“.doubleclick.net”域的cookie都不受我的控制?而且我无法理解它们是如何被存储的。


你有找到解决方案吗?你是如何处理Google Analytics的cookies的? - Ajinkya
关于“如何”,使用来自另一个域的 iframe 有其自己相关的 cookie,这样就可以实现。但不幸的是,我正在寻找一种解决方案来控制他们的 cookie 权限... - René Baudisch
5个回答

4

不是阻止已被设置的cookie,而是在用户同意cookie政策之后再加载GTM脚本,这样更容易实现。


3
在我看来,这里大多数发帖者都误解了最初提出的问题。最初的发帖人并没有遇到技术上很容易屏蔽的第一方cookie_ga或_gid的任何问题。实际上,他甚至提到自己已经“处理过它们”。因此,以下答案并没有特别有用。
相反,最初的发帖人似乎遇到了像1P_JAR和AID这样的真正的第三方cookie问题。只要您登录Google帐户,这些cookie就会放置在您的浏览器上,并且与其他cookie结合使用,可以有效地跟踪您在成千上万个网站上的活动。
据我所知,这些第三方cookie是通过大多数Google Analytics实现设置的。如果您使用诸如Sybu JavaScript Blocker之类的便利扩展程序,可以缩小引起客户端问题的脚本范围。在Google Analytics的情况下,您可以修改您的实现方式,以防止这些第三方cookie出现。

0
有点老了,但我认为你应该得到一个可行的答案: 步骤1:像thomaux已经写的那样:不要加载/执行脚本。您可以使用vizsatiz的技巧提供代码,而无需执行,但是将id添加到html元素中,例如GA_SCRIPT。 步骤2:显示cookie横幅。 步骤3:在用户接受后,使用document.getElementById("GA_Script").innerText从html元素中加载代码,并使用eval执行。 对我起作用。 或者,您可以将GA脚本代码编写到您的代码中,并将其作为回调函数执行。

0

为了阻止第三方Cookie,请找到设置第三方Cookie的JavaScript代码并执行以下操作:

  1. 将type属性从text / javascript更改为text / plain(如果缺少type属性,则只需添加它)
  2. 添加data-cookiescript属性并将其设置为accepted

带有此类属性更改的所有JavaScript代码只会在用户同意Cookie策略后执行。

请点击这里了解详情:https://cookie-script.com/how-to-block-third-party-cookies.html

希望能帮助到您!!


将类型属性更改为"text/plain"在Edge或IE11中不起作用。 - whyAto8

0

如果要禁用 _ga_gid cookie,请在您的 headers.php 文件中添加以下代码:

<script>
    if(document.cookie.split('; ').findIndex(x => x.split('=')[0] == 'cookiename') >= 0) 
    {
        // some code
    } else {
        window["ga-disable-UA-7358061-1"] = true;
        window["gid-disable-UA-7358061-1"] = true;
    }
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接