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

2023-11-24

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

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

我的做法是:

  • 全部取消设置set-cookie我们的服务器发送的标头(通过 nginx 或 php)

但仍然存在一些问题:

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

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

我建议将所有跟踪脚本移至 Google 跟踪代码管理器,并使用 Simo Ahava 使用的方法。Guide 1 and Guide 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;';
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以通用方式禁用 cookie,直到用户接受 cookie 的相关文章

随机推荐

  • 如何从Application.Path获取UNC路径?

    我想获取 vba 代码中活动工作簿的路径 ActiveWorkbook Path做这个 BUT 我需要它来检索这样的东西 MachineName ShareFolder ETC ETC2 NOT S ETC ETC2 Where S 映射到
  • 为什么在访问模型时,backbone.js 返回一个空数组?

    我有一个路由器访问其集合 我的 for 循环没有迭代模型 因此我尝试记录集合以查看它返回的内容 事实证明 当我直接记录集合时 我会按预期看到所有模型 但是 如果我尝试记录集合的 models 属性 我会得到一个空数组 这没有道理 这些线直接
  • C# 中 async/await 的这种用法以前被发现过吗? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 在我之前在 stackoverflow 上提出了关于 async await 的问题之后
  • 以编程方式查明进程是否需要用户输入

    我如何以编程方式 在 C 中 确定另一个外部应用程序 本机 java NET 或其他 当前是否需要用户输入 这可以在托管代码中完全完成吗 我正在寻找的是实施 static Boolean IsWaitingForUserInput Stri
  • Google Maps API 自动完成同一页面上的第二个地址字段

    我在我的页面上使用 Google Maps API 该页面要求用户填写您的 当前地址 和 新地址 我可以让自动完成功能在第一个地址上工作 但它不适用于第二个地址 我做了很多研究并查看了 stackoverflow 上的类似帖子 但我找不到任
  • 在 try/catch 块中等待两个承诺会导致“未处理的承诺拒绝”[重复]

    这个问题在这里已经有答案了 我想等待两个并行运行的承诺 我不想连续等待每个承诺 这有效但速度较慢 出于这个原因 我认为我可以首先创建两个承诺来让它们滚动 比如说两个网络请求 然后等待它们并能够在 catch 块中捕获错误 这个假设似乎是不正
  • Django - 按模板中的某个字段对查询集进行分组

    我有一张桌子Events 按字段排序date 我想打印模板中的事件 但为每个日期使用单独的 div 例如 div class content h1 December 30th h1 div div class content h1 Dece
  • #1025 - mysql 中重命名错误(errno:150)

    我试图在一个表 misc 中删除一个外键 id 它是表 main 中的主键 id 数据库名称 xxx alter table misc drop FOREIGN KEY id 我收到这个错误 1025 将 interview sql edc
  • 如何使用 dotnet CLI 构建 .NET Framework 4.8 应用程序?

    我继承了一个 NET Framework 4 8 应用程序 我可以使用 Visual Studio 对其进行编译 但是当尝试使用dotnetCLI 应用程序 对于我从外部依赖项使用的所有类型 我都会收到 CS0246 错误 原来的错误消息
  • Spring授权服务器:如何使用托管在单独应用程序上的登录表单?

    我正在使用 Spring Security 和 Spring Authorization Server 并尝试创建身份验证服务器 我有一个基本流程 允许我使用预先构建的登录页面 从拜尔东指南 这是我正在处理的代码 我假设这个登录页面表单来自
  • 学习 LINQ [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 Overview 我在这个网站上问过很多次的事情之一是LINQ 我提出的问题广泛而多样 而且往往没有太多背景 因此 为了巩固我在 Linq 上获得的
  • ASP.NET 传递 Windows 身份验证凭据

    我有一个使用 Windows 身份验证的 ASP NET Web 应用程序 此应用程序需要连接到另一个 ASP NET Web 服务 也使用 Windows 身份验证 并使用从用户浏览器收到的相同凭据 这可以做到吗 如何做到 我不相信没有
  • C++ 错误:转换为执行字符集

    问题是我试图打印 ASCII 之外的一些字符 例如德语元音变音字符 等 这些字符不适合普通的 char 变量 因此显然我尝试将它们放入 wchar t 中并使用 L 初始化字符串 但是每次这个字符串包含上面的一个字符时 我都会收到上述错误
  • 从 CakePHP 2.1.2 控制台 Shell 创建完整 url

    我正在尝试通过控制台 shell 从 CakePHP 2 1 2 发送电子邮件 最终通过 cron 作业 我发送的视图是一个日历 其中包含返回应用程序网页的链接 我发现的问题是网址不包含正确的路径 从我读到的内容来看 这是因为我使用控制台后
  • GIF/JPEG 文件可以包含可运行的 PHP 代码吗?

    测试 Web 应用程序 我可以上传 GIF JPEG 文件 并且我知道在该 GIF Jpeg 中正确包含 PHP 代码时可能存在威胁 因为它是使用图像创建真彩色 and 图像jpeg 我正在寻找包含简单 PHP 代码 如 phpinfo 或
  • GroovyWS 和复杂请求

    我遇到了使用 GroovyWS 发送复杂请求的问题 这是由soapUI生成的示例请求
  • ggplot2 中两个不同组的不同调色板

    我正在尝试创建一个图 显示多个地点的观测数据和建模数据的每月土壤湿度垂直剖面 到目前为止 我只能绘制一组值 无论是观察值还是建模值 如下例所示 library ggplot2 library RColorBrewer Create cust
  • Spring 3 MVC - 高级数据绑定 - 带有简单对象列表的表单请求

    我已经阅读了所有 Spring 3 Web 文档 http static springsource org spring docs 3 0 x spring framework reference html spring web html但
  • 关闭 C# 表单应用程序

    我有 2 个表单 当我启动应用程序时 并使用标题栏中的关闭 X 整个应用程序将关闭 现在 当我从第一个表单中选择一个选项时 在我的情况下它是一个按钮 ADD 作为它的电话簿应用程序 它进入第二种形式 因为我使用了 1stform hide
  • 如何以通用方式禁用 cookie,直到用户接受 cookie

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