【问题标题】:Angular 2 - It makes sense to use csrf token in Angular 2?Angular 2 - 在 Angular 2 中使用 csrf 令牌有意义吗?
【发布时间】:2016-12-29 18:22:15
【问题描述】:

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

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

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

【问题讨论】:

标签: javascript angular csrf


【解决方案1】:

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

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

因此,如果您使用http 服务,您无需在 Angular 方面做任何额外的事情来获得 CSRF 保护。服务器需要检查 header 和 cookie 值是否相同。

【讨论】:

  • 嗨 Nate,我登录并在我的应用程序中发送了一个表单并捕获了发往服务器的请求,但两者都没有找到任何带有单词 csrfXSRF 的内容。所以它出现了 cookie 但与 PyCharm 相关。如果在 Angular 2 中默认有 CSRF 保护,我该如何激活它?
  • @rafaelcb21 你的后端是什么?我建议发布一个单独的问题,其中包含您的后端服务器环境和任何相关代码的详细信息。
猜你喜欢
  • 2016-09-28
  • 2017-09-07
  • 2017-12-19
  • 2016-07-22
  • 1970-01-01
  • 2017-05-08
  • 2017-06-29
  • 1970-01-01
  • 2016-12-15
相关资源
最近更新 更多