我在Symfony REST
项目中执行CSRF
时遇到问题。我正在使用AngularJS
,一个AuthToken
cookie是使用NG $cookie
服务存储的,并且在发送给服务器的每个请求中都有一个X-Auth-Token header
,这个问题我真的需要实现一个CSRF
保护吗? 其他问题,如果答案是肯定的,我怎样才能做到这一点Symfony
?因为它在服务器会话中存储令牌,而不是RESTful
,例如实现Django
如CSRF
系统的最佳方法是什么(我猜他们将CSRF
令牌存储在cookie中,然后将其与输入令牌的表单进行比较? 对不起我的英文不好,谢谢!Rest API中的CSRF保护
0
A
回答
1
基本上你需要CSRF保护,当攻击者(从他自己的应用程序)可以使用户的你无意中颁发给应用程序,改变服务器状态的有效的请求。
总之这通常意味着非GET请求(除非GET更改了他们不应该的东西),因为cookie会基于cookie进行认证,因为即使请求了req uest是从另一个网站制作的。
如果头中有访问令牌(用于身份验证),则需要将其添加到Angular应用程序中的请求中,并且攻击者无法这样做,因此您不需要CSRF保护。
如果基于令牌的身份验证将令牌作为cookie发送,则需要CSRF保护。在这方面,这基本上与简单Cookie认证相同。
0
我认为你的案例最简单的就是使用这个专门用于处理你的用例的包https://github.com/dunglas/DunglasAngularCsrfBundle。
基本上它是如何工作的:
- 服务器应用程序伪造XSRF-TOKEN,将其存储在会话,并把它作为一个cookie的角度应用
- 的角度应用程序读取cookie并设置X-XSRF-TOKEN对未来请求
- 服务器的X XSRF- TOKEN在每个请求(使用请求收听)与存储在会话中的令牌的值进行比较
如果令牌d不匹配,请求失败。
相关问题
- 1. API CSRF保护
- 2. Phoenix和CSRF的CSRF保护
- 3. Spark Framework CSRF保护
- 4. Tomcat中的CSRF保护
- 5. IdentityServer4中的CSRF保护
- 6. 保护一个REST API
- 7. 使用Token保护REST API
- 8. 轨,OAuth的,和CSRF保护
- 9. php csrf保护库
- 10. CSRF保护与JavaScript?
- 11. Codeigniter AJAX CSRF保护
- 12. 在Grails和Spring Security中保护REST API
- 13. 保护可从Android访问的REST API
- 14. 保护用Play Framework开发的REST API
- 15. Django Rest框架+ AngularJS:正确的CSRF保护方式?
- 16. React前端和REST API,CSRF
- 17. reactjs/redux + django CSRF保护
- 18. 使用Symfony CSRF保护
- 19. Zend表格+ csrf保护
- 20. 春季安全CSRF保护
- 21. 是否需要CSRF保护以防OAUTH2
- 22. 如何使用wso2 IS保护REST API?
- 23. Paypal Rest API:获得欺诈保护
- 24. 使用Facebook OAuth保护REST API
- 25. 在WTForms-Alchemy中使用CSRF保护
- 26. 未禁用CSRF保护的Rails API设计
- 27. SPA,网站使用的oauth2 API - 我需要CSRF保护
- 28. Django的书过时CSRF保护
- 29. 如何保护浏览器从CSRF攻击中使用的RESTful API?
- 30. 如何在生成REST API之后保护composer-rest-server?
CSRF令牌用于确保粗略的脚本或页面无法在会话打开时向您的站点发送请求,因此您使用CSRF令牌来证明自己是谁。如果您在应用程序中存储了令牌,然后在每个请求中发送该令牌,则无需使用CSRF,因为您正在证明自己身份验证令牌的身份。 – qooplmao