-
对JavaScript应用程序进行自动CSRF保护,可利用DunglasAngularCsrfBundle提供的Symfony API实现
资源介绍
JavaScript CSRF保护包
已封存! 现在,所有现代浏览器都实现了SameSite cookie和Origin HTTP标头,在大多数情况下,不再需要此捆绑包。 。 如果需要维护旧的应用程序,请查看 。
该和捆绑包为客户端应用程序提供了自动(CSRF或XSRF)保护。
尽管名称如此,但它可与任何客户端技术(包括 , , 和。 实际上,任何发布或使用JavaScript代码都可以利用此捆绑包。
这个怎么运作
由于有了这个捆绑包,服务器端应用程序(Symfony应用程序)将在发送到浏览器的第一个HTTP响应期间自动设置一个名为XSRF-Token的cookie,其中包含唯一的令牌。 JavaScript应用程序随后通过xhr或fetch发出的异步请求将cookie的值发送回名为X-XSRF-Token的特殊HTTP标头中。
为了防止CSRF攻击,捆绑软件将检查标头的值是否与Cookie的值匹配。 这样,它将能够检测和阻止CSRF攻击。
AngularJS(v1)的ng.$http服务具有。 如果使用其他框架或HTTP客户端(例如 ),需要读取cookie值并添加包含它的