我有一个使用嵌入在页面中的一次性令牌来确保 CSRF 保护的请求 - 攻击者可能能够欺骗我的用户发出非法请求,但他们无法获得令牌,即使他们可以随每个请求而更改并且可能过期。
到目前为止,如此安全。
我想使用服务人员实现后台同步,以便用户可以离线发布数据,然后在他们获得连接时发送该数据。
但是,这意味着该页面无法获取 CSRF 令牌,并且在用户构建它时与请求链接的任何令牌在实际发送数据时可能是无效的。
这似乎是任何进步网站的普遍问题,处理它的最佳实践是什么?
我认为后台同步可以请求一个新令牌,将其应用于要发送的数据,然后发送它,这仍然是一个 CSRF 攻击者无法利用的循环,但我不确定. 任何人都可以确认这一点吗?
我是否缺少服务人员或后台同步的某些功能?