在用户接受GDPR和使用Cookie之前,禁止快速会话设置会话ID

时间:2019-04-18 07:41:46

标签: javascript node.js express express-session

出于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,并防止它在首页加载时自动设置。

我可能会丢失一些东西

1 个答案:

答案 0 :(得分:1)

据我所做的一些研究得出的结论,似乎会话cookie免于GDPR法律的同意部分。 This link has a pretty clear explanation of exemptions

对同意要求的豁免

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

  • 提供服务所必需的技术cookie。这些包括首选项cookie,会话cookie,负载平衡等。

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

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

* 此豁免可能不适用于所有地区,因此要遵守当地的特定法规。

也就是说,您仍然必须告知用户您正在使用cookie。只要用户可以从网站上的任何地方清晰,轻松地访问该信息,横幅或指向您网站上Cookie策略的链接就可以使用。