最佳答案
当应用程序依赖于无状态身份验证(使用类似 HMAC 的东西)时,是否有必要使用 CSRF 保护?
例如:
我们有一个单页应用程序(否则我们必须在每个链接上追加令牌: <a href="...?token=xyz">...</a>
。
用户使用 POST /auth
验证自己。验证成功后,服务器将返回一些令牌。
令牌将通过 JavaScript 存储在单页应用程序中的某个变量中。
此令牌将用于访问 /admin
等受限 URL。
令牌将始终在 HTTP Header 中传输。
没有 HTTP 会话,也没有 Cookie。
据我所知,应该有(? !)不可能使用跨站点攻击,因为浏览器不会存储令牌,因此不能自动将其发送到服务器(这就是使用 Cookies/Session 时会发生的情况)。
我错过了什么吗?