【发布时间】:2016-08-05 18:29:46
【问题描述】:
我有一个使用嵌入在页面中的一次性令牌来确保 CSRF 保护的请求 - 攻击者可能能够欺骗我的用户发出非法请求,但他们无法获得令牌,即使他们是否可以随每个请求而更改并且可以过期。
到目前为止,很安全。
我想通过服务工作者实现后台同步,以便用户可以离线发布数据,然后在他们获得连接时发送该数据。
但是,这意味着页面无法获取 CSRF 令牌,并且在用户构建它时与请求链接的任何令牌在实际发送数据时都可能无效。
这似乎是任何进步网站的普遍问题,处理它的最佳做法是什么?
我认为后台同步可以请求一个新令牌,将其应用于要发送的数据然后发送它,这仍然是一个 CSRF 攻击者无法利用的循环,但我不是肯定的。任何人都可以确认这一点吗?
是否有一些我缺少的 Service Worker 或后台同步功能?
【问题讨论】:
标签: service-worker csrf-protection background-sync