javascript - 遵循 GDPR 指南的 Cookie 同意逻辑
问题描述
自从 GDPR 成为一件事后,我就没有部署过网站,并且有点混淆了我需要做服务器和客户端以遵守 GDPR 的一些逻辑。很抱歉这里有多个问题。
- 目前,我只有一个第一方 cookie,用于在用户成功登录时存储会话 cookie。这应该是选择加入吗?例如,如果某人不接受 cookie,我应该阻止他们登录吗?如果是这样,express.js 中是否有一个标准,即只有在接受 cookie 后才设置 cookie?
- 当用户拒绝 cookie(登录或未登录)时,我应该将他们拒绝的信息存储在哪里?我是否将其存储为具有二进制值的 cookie?或者这是否违背了整个同意的想法,所以,如果用户拒绝 cookie,但我会通过添加 cookie 来跟进?
- 同样,如果用户接受 cookie 同意,是否应该将其存储为 cookie,作为二进制值,这样他们每次刷新时都不会弹出 cookie,还是有更好的方法?
- 假设我将来会在网站上添加更多 cookie,例如 Google Analytics。我如何再次通过 cookie 弹出窗口提示用户,即使他们在添加 Google Analytics cookie 之前已经接受了 cookie。
有没有关于更深入的 cookie 策略实施的好资源,尤其是 Express 和 React?
解决方案
这是我对这个话题的理解。这不是法律建议。
关于#1,用户知道登录意味着让服务器知道他们自己,而会话 cookie 仅用于此目的。换句话说:通过按下“登录”按钮,他们同意该 cookie(但仅限于该 cookie)。当用户再次注销时,会话 cookie 必须从客户端和服务器中删除(因为它已经达到其目的的终点)。理想情况下,当用户通过简单地关闭浏览器“注销”时,也可以将其从服务器中删除。
您可以在多大程度上“跟踪”登录用户的操作,这是一个不同的问题。但这与您的应用程序的透明度有关,与 cookie 无关。
关于 #2 和 #3,如果您的应用程序除了会话 cookie 之外没有使用其他 cookie,那么您根本不应该使用 cookie 弹出窗口来打扰用户。只有在您开始使用其他 cookie (#4) 之后,您才必须面对这个问题。
推荐阅读
- javascript - jQuery onclick 方法不起作用两次
- dns - Ubuntu 16.04 上的邮件服务器
- memory-profiling - 如何知道我是否也必须进行内存分析?
- python - 为什么“tf.constant(tf.random_normal((10, 4)))”会导致错误?
- google-chrome-extension - Chrome 扩展程序不显示已发布的程序
- reactjs - Enzyme 无法找到在 React Apollo Query 组件中呈现的子项
- c# - HRESULT 异常:0x80004004 (E_ABORT)
- javascript - 是否可以从 jquery 监听自定义原型事件?
- javascript - 在页面重新加载时存储 div 状态
- laravel - 无法使用不同的操作提交表单(网址)