我应该在每个POST请求中使用ValidateAntiForgeryToken吗?

war*_*990 6 c# security asp.net-mvc

我有一堆页面HttpPost请求,我从我的同事那里扫描了我的网站Acunetix(我认为).结果说HTML form without CSRF protection (9).建议是Same-origin policy通过实现Token 来使用.我的问题 :

  1. 从性能与安全的角度来看,如果我Token在每个POST请求中使用它是否值得?我只TokenPOSTLogIn,Register,Transaction等敏感请求中使用.
  2. 这可能与标题无关,但是当我有很多页面请求时,为什么pentest软件Acunetix只列出我的几页CSRF可能存在的风险POST,检测模式如何工作?

任何帮助将不胜感激.

Bra*_*d C 2

是的,您应该ValidateAntiForgeryToken在每个 HttpPost 中包含该属性...假设您正在使用最佳实践并且 HttpPost 意味着请求有某种副作用。

有关此事的详细讨论,请参阅IT 安全 SE 网站上的此讨论。

看起来 Acunetix 只是在包含不存在令牌的表单的每个页面上报告此情况。请参阅他们的文档