Angular 2 - 在Angular 2中使用csrf标记是有意义的吗?

时间:2016-08-23 04:34:33

标签: javascript angular csrf

我提出这个问题是因为在客户端服务器应用程序中,服务器发送带有隐藏在表单中的每个请求的不同令牌的html。此令牌通过密钥在服务器上构建。

但是Angular 2所有形式都已经在客户端上。对于包含令牌的表单,他需要一个密钥在客户端,而对我来说已经是一个安全漏洞。

所以我问这个问题,在Angular 2中使用csrf令牌是否有意义?如果答案是肯定的,那该怎么办呢?

1 个答案:

答案 0 :(得分:5)

Angular 2包含一个名为double-submit cookie pattern的CSRF / XSRF缓解策略。来自Angular documentation

  

Angular http客户端内置了对此技术的支持。默认CookieXSRFStrategy查找名为XSRF-TOKEN的cookie,并在每个请求中设置名为X-XSRF-TOKEN的HTTP请求标头,其值为该cookie。服务器必须设置XSRF-TOKEN cookie,并验证每个状态修改请求的响应头。

因此,如果您使用http服务,则无需在Angular端执行任何额外操作即可获得CSRF保护。服务器需要检查标头和cookie值是否相同。