【发布时间】:2015-03-13 22:19:54
【问题描述】:
我有一个 Web 应用程序,它被分成两个独立的模块(客户端和服务器端)。服务器定义了 REST 服务,客户端调用 REST 服务来获取数据。我想让服务器免受 CSRF 攻击。因此,任何客户端 POST/PUT/DELETE 都需要在标头中传递 csrf 令牌,并且令牌值应等于会话中保存的 csrfToken。
我的问题是由于 csrf 令牌是由服务器生成的,客户端应用程序如何获取令牌值?
客户端登录后是否应该发送GET请求,服务器生成csrf令牌将其存储为会话属性并将其发送回客户端作为响应还是更好的解决方案?
【问题讨论】:
-
CSRF 保护在 REST 协议中不起作用。
-
@holmis83 owasp.org/index.php/…
-
@sp00m 该页面上有很多废话。但是,也许我误解了 OP 中“REST”的含义。
标签: java angularjs rest spring-security csrf