【发布时间】:2020-03-11 01:07:57
【问题描述】:
Google have said 表示他们将在 2020 年 2 月默认将 SameSite=Lax 属性添加到 cookie。在准备过程中,我们已经开始测试使用 SameSite=Lax 和我们所有的 cookie,包括我们的会话 cookie (PHPSESSID)。
我们遇到了一个问题,我们将用户重定向到 WorldPay,以便他们添加银行账户。 WorldPay 然后将新帐户的详细信息发回我们的网站。问题是,因为这是一个跨站点请求,所以当用户返回我们的站点时,他们的浏览器不会加载会话 cookie,因此他们会退出我们的网站。
我只是想知道是否有解决此问题的最佳做法。 SameSite 防止跨站点请求伪造攻击。在我们的例子中,我们的跨站请求不是伪造或攻击,因此我们想做相当于将请求列入白名单。
我想我们可以在将用户发送到 WorldPay 之前将会话 ID 存储在数据库中,然后在用户返回时使用之前的会话 ID 恢复会话。当然,挑战在于知道回来的人和离开的人是同一个人。我想我们可以通过设置带有秘密令牌的SameSite=None cookie 来做到这一点,并在返回时重新检查该令牌。
这个问题一定是SameSite cookie 新时代的常见“问题”。我有兴趣听听您是如何解决的?
【问题讨论】:
标签: security cookies csrf samesite