问题描述
我正在使用angularJ,资源和jersey rest api开发应用程序。我想在我的项目中实施xsrf保护。请提出一个更好的例子。我在这里有一个示例,但是它使用了ColdFusion。
I am developing an application using angularJs, resources and jersey rest api's. And I want to implement xsrf protection in my project. Please suggest a better example. I got one example here, but it uses ColdFusion. http://www.bennadel.com/blog/2568-Preventing-Cross-Site-Request-Forgery-CSRF-XSRF-With-AngularJS-And-ColdFusion.htm
推荐答案
与给定的示例不同,您需要做两件事:
Different from given example, you need to do 2 things:
- 何时一旦用户登录,主页就会被加载,您需要设置一个名为XSRF-COOKIE的会话cookie。然后,AngularJS会按照文档(1)中所述,通过将标头添加到每个请求中来完成其余工作
- 您需要验证后端对rest API的每次调用(例如,使用拦截器),方法是将Cookie中的令牌与标头中的令牌进行比较。逻辑在您引用的页面上进行了描述
(1)要利用这一点,您的服务器需要在在第一个HTTP GET请求上,名为XSRF-TOKEN的JavaScript可读会话cookie。
(1) To take advantage of this, your server needs to set a token in a JavaScript readable session cookie called XSRF-TOKEN on the first HTTP GET request. CSRF Protection section in Documentation
这篇关于如何在angular js中设置XSRF保护?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!