5

防止 CSRF 的一种常见方法是使用隐藏在表单中的令牌。只是出于好奇,这是实际防止 CSRF 的唯一方法吗?人们争论不需要 CSRF 令牌让我发疯,我需要了解原因。我还能如何防止 CSRF 攻击?

4

1 回答 1

1

实际上,使用 CSRF 令牌只是另一层防御。根据OWASP Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet,验证请求来源也可用于 CSRF 保护。为了验证我们可以使用的来源,

  1. 源头
    • Origin 头包含发起请求的方案、主机和端口的信息。
  2. 参考标头
    • Referer 标头包含上一个网页的地址,从该地址指向当前请求网页的链接。

但是,使用这种方法存在一些限制,例如标头的不可用性和完整性。攻击者可以通过多种方式更改这些标头的值。因此,建议始终拥有多层防御。

于 2017-10-15T16:36:42.023 回答