javascript - 在用户接受 GDPR 和使用 cookie 之前阻止快速会话设置会话 ID
问题描述
出于 GDPR 的原因,我试图让快速会话等到用户接受使用 cookie 后再设置会话 ID,因为现在会话 ID 是立即设置的。
我正在使用快递、快递和护照。
我尝试使用“saveUninitialized”并将其设置为 false 以防止这种情况,但没有任何运气..
在 Mac 上运行的一切都是最新的。
我有一个横幅,用户可以接受使用 cookie,并且横幅设置了一个“cookiesAccepted”cookie 以表明我们现在可以使用 cookie,所以我试图让快速会话等待该 cookie 存在或手动设置它当用户登录并接受使用 cookie 时。
这是用于设置快速会话的内容
app.use(session({
secret: 'secret',
cookie: { maxAge: 24 * 60 * 60 * 1000 }, // 24 hours
resave: true,
saveUninitialized: false,
}));
我也尝试设置resave
为false
等等,但似乎无法阻止 cookie 在第一次加载时设置..
我只想在用户登录时设置会话ID,使用护照登录功能并防止它在第一页加载时自动设置。
我可能会遗漏一些东西
解决方案
从我自己的一些研究后可以看出,会话 cookie 似乎不受 GDPR 法律的同意部分的约束。这个链接对豁免有一个非常清楚的解释:
同意要求的豁免
某些 cookie 不受同意要求的约束,因此不受预防性阻止(尽管您仍然需要告知用户您对 cookie 的使用 - 请参阅下面的警告框)。豁免情况如下:
提供服务所必需的技术 cookie。其中包括偏好 cookie、会话 cookie、负载平衡等。
由您(非第三方)直接管理的统计 cookie,前提是数据不用于分析*
匿名统计第三方 cookie(例如 Google Analytics)*
*此豁免可能不适用于所有地区,因此受当地特定法规的约束。
也就是说,您仍然需要告知用户您正在使用 cookie 的事实。只要用户可以从网站上的任何位置清晰、轻松地访问该信息,您网站上的横幅或指向 cookie 策略的链接就可以使用。
推荐阅读
- c++ - C++ 线程和类方法。内存泄漏问题
- apache-flink - Flink 两阶段提交 map 函数实现完全一次语义
- java - 如何修复此错误?我想构建应用程序加密和解密文件,但显示错误我该如何解决?
- php - 使用 php 从 Google 表格中将数据读取到 html 标签内的网站
- sql - 我们可以在 SELECT 或 PRINT 语句中获得多少个字符?
- python - 比较python中的两个字典列表
- spring-kafka - bootstrap.yml 中的 spring kafka 配置无法工作
- r - 是否可以在没有闪亮会话的情况下使用 renderPlot 的结果?
- facebook-graph-api - 获得广告系列的主要转化
- qt - 用于鼠标选择的具有负宽度的 QML 矩形