javascript - 如何以通用方式禁用 cookie,直到用户接受 cookie

标签 javascript http magento cookies

有没有一种奇特的方法可以禁用 cookie 直到用户接受它们?

以下问题:我有一个使用大量 cookie 的网上商店,为了符合 GDPR,我们需要“禁用”cookie,直到用户接受它们。 我不想重写整个商店系统,因此我正在寻找一个通用的解决方案。

我的方法是:

  • 取消设置我们服务器发送的所有 set-cookie header (通过 nginx 或 php)

但是还存在一些问题:

  • 如何防止外部网站设置 cookie 而不完全删除它们(bing、google、fb、..)
  • 如何在不修改所有 javascript 源的情况下阻止 javascript 设置 cookie(是否可以覆盖浏览器功能,因此您无法通过 JS 设置 cookie)

最佳答案

如果您担心 GDPR 合规性,仅删除 cookie 是不够的。您需要禁用任何收集个人身份信息 (PII) 的跟踪脚本。

我建议将所有跟踪脚本移至 Google Tag Manger,并使用 Simo Ahava 概述的方法。 Guide 1Guide 2 .他的方法不适用于跟踪非 Google 的标签,但使用自定义触发器您可以停止任何操作。

话虽这么说,如果您只是想删除 cookie,应该这样做。

function deleteCookies() {
    var theCookies = document.cookie.split(';');
    for (var i = 0 ; i < theCookies.length; i++) {
        document.cookie = theCookies[i].split('=')[0] + '=; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
    }
}

关于javascript - 如何以通用方式禁用 cookie,直到用户接受 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49856794/

相关文章:

javascript - 将插件方法添加到 Flow 中的 Moment.js 声明中?

javascript 函数和 html onclick 属性

HTTP 重定向 (302) 在以下 GET 请求中不使用 Cookie

javascript - 如何从按一个值筛选的对象数组创建新数组?

javascript - NodeJS 流和请求模块

http - 如何使喷雾 jar 客户端遵循重定向

node.js - ExpressJS框架(nodejs)仅将堆栈错误记录到文件

magento - Magmi 有没有插件可以删除 CSV 文件中没有的产品?

php - magento 1.9 将产品添加到购物车无法从外部 URL 工作

magento - 如何从订单 ID Magento 获取所有订单详细信息,包括付款客户和运输详细信息