在阅读了 XSS 攻击之后,我使用本文中描述的 ValidateAntiForgeryTokenWrapperAttribute 将 AntiForgeryToken 应用于我的网站:
它似乎运行良好,但是我在 MVC3 中使用远程验证时遇到了一个问题。我有一个 ValidationController,它包含我站点内的所有常见验证,如果我将 ValidateAntiForgeryTokenWrapperAttribute 应用到它,那么远程验证不再有效,我得到一个“所需的防伪令牌未提供或无效。” 异常记录在 Elmah 中。我试过调试这个,在抛出异常之前它甚至没有命中控制器动作。我认为这是因为远程验证不知道将 AntiForgeryToken 传递给控制器 - 有没有其他人遇到过这个问题,或者知道这两者是否不打算一起使用?
这也让我怀疑我是否应该在每个控制器上使用 ValidateAntiForgeryTokenWrapperAttribute,有什么想法吗?