繁体   English   中英

将用于REST服务的CSRF令牌作为Http响应标头包含是否安全?

[英]Is it safe to include a CSRF token for a REST service as a Http Response Header?

我有一组受CSRF保护的REST服务,使用的是类似于OWASP的同步器令牌模式( https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet )的服务。 *使用Java和JAX-RS实现REST *使用Spring Security CSRF令牌实现安全性* HTTP PUT,POST和DELETE受保护

在我的Web应用启动时,我在HTML页面中编写了正确的CSRF令牌,然后该应用程序在每个请求的请求标头中都将令牌包括为“ X-CSRF-HEADER”。

我也有直接访问URL的客户端(例如,curl命令行等)。

备用客户端需要以某种方式获取CSRF令牌(当然在经过身份验证之后)。

将令牌作为GET请求的HTTP响应标头包括在内是否安全? 如果是这样,那么我可以将其包含在Response Header中,而客户端可以读出它并将其包含在将来的Request Header中。

这样安全吗?

通常认为在响应头中包含CSRF令牌是安全的。 就像请求的主体一样,响应标头在SSL响应中被加密,并且不能跨域访问。 默认情况下,不会将CSRF令牌呈现给响应的原因是为了确保我们将创建会话的时间推迟到必要时。 有关详细信息,请参见SEC-2276

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM