【发布时间】:2011-06-13 01:47:27
【问题描述】:
UPD: 在security.stackexchange.com 上提出了同样的问题,但我得到的答案不同。请关注那里,以获得正确答案!
我正在运营一个相当大的网站,每天有数千次访问,并且拥有相当大的用户群。
自从我开始迁移到 MVC 3 以来,我一直将 AntiForgeryToken 置于多种形式中,用于修改受保护的数据等。
其他一些形式,比如登录/注册现在也使用 AntiForgeryToken,但我开始怀疑他们的需求,原因有几个......
- 登录表单要求发布者知道正确的凭据。我真的想不出 csrf 攻击会从中受益的任何方式。特别是如果我检查请求是否来自同一主机(检查引荐标头)
- 每次加载页面时,AntiForgeryToken 令牌都会生成不同的值。如果我在登录页面打开了两个选项卡,然后尝试发布它们,第一个将成功加载。第二个将失败并出现 AntiForgeryTokenException(首先加载两个页面,然后尝试发布它们)。使用更安全的页面 - 这显然是必要的邪恶,使用登录页面 - 似乎有点矫枉过正,只是自找麻烦:S
可能还有其他原因导致人们在他们的表单中使用/不使用令牌。我是否正确假设在每个帖子表单中使用令牌是不好的/矫枉过正的,如果是这样 - 什么样的表单会受益从中受益,哪些肯定不会受益?
【问题讨论】:
-
这里的安全专家已经回答了这个问题:security.stackexchange.com/questions/2120/…
-
@Richard 您是否注意到您在评论中添加的链接与问题顶部的链接相同?并且这个问题是由同一个用户提出的?
标签: asp.net-mvc-3 csrf antiforgerytoken