【问题标题】:Preventing express session from setting session id before user accepts GDPR and use of cookies在用户接受 GDPR 和使用 cookie 之前阻止快速会话设置会话 ID
【发布时间】:2019-09-08 12:16:37
【问题描述】:

出于 GDPR 的原因,我试图让快速会话等到用户接受使用 cookie 后再设置会话 ID,因为现在会话 ID 已立即设置。

我正在使用 express、express session 和 passport。

我尝试使用“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,使用护照登录功能并防止它在第一个页面加载时自动设置。

我可能错过了什么

【问题讨论】:

    标签: javascript node.js express express-session


    【解决方案1】:

    根据我自己的一些研究后得出的结论,会话 cookie 似乎不受 GDPR 法律的同意部分的约束。 This link has a pretty clear explanation of exemptions

    同意要求的豁免

    某些 cookie 不受同意要求的约束,因此不受预防性阻止(尽管您仍然需要告知用户您使用 cookie 的情况 - 请参阅下面的警告框)。豁免情况如下:

    • 提供服务所必需的技术 cookie。其中包括偏好 cookie、会话 cookie、负载平衡等。

    • 由您(而非第三方)直接管理的统计 cookie,前提是数据不用于分析*

    • 匿名统计第三方 Cookie(例如 Google Analytics)*

    * 此豁免可能不适用于所有地区,因此受当地特定法规的约束。

    也就是说,您仍然需要告知用户您正在使用 cookie 的事实。只要用户可以从网站上的任何位置清楚、轻松地访问该信息,您网站上的横幅或指向 cookie 政策的链接就可以使用。

    【讨论】:

    • 许多地区有更严格的规则(如德国)。所以这是一个非答案。
    猜你喜欢
    • 2016-08-08
    • 2012-09-27
    • 2019-12-29
    • 2021-10-22
    • 1970-01-01
    • 2020-01-19
    • 2017-01-07
    • 1970-01-01
    • 2021-09-21
    相关资源
    最近更新 更多