![](/img/trans.png)
[英]Error HTTP Status 403 - Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'
[英]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.