gpt4 book ai didi

asp.net-mvc - MVC3 远程验证和 AntiForgeryToken

转载 作者:行者123 更新时间:2023-12-01 01:27:35 25 4
gpt4 key购买 nike

在阅读了 XSS 攻击之后,我使用本文中描述的 ValidateAntiForgeryTokenWrapperAttribute 将 AntiForgeryToken 应用于我的网站:

http://weblogs.asp.net/dixin/archive/2010/05/22/anti-forgery-request-recipes-for-asp-net-mvc-and-ajax.aspx

它似乎运行良好,但是我在 MVC3 中使用远程验证时遇到了一个问题。我有一个 ValidationController,它包含我站点内的所有常见验证,如果我将 ValidateAntiForgeryTokenWrapperAttribute 应用到它,那么远程验证不再有效,我得到一个“所需的防伪 token 未提供或无效。”异常记录在 Elmah 中。我试过调试这个,在抛出异常之前它甚至没有命中 Controller Action 。我认为这是因为远程验证不知道将 AntiForgeryToken 传递给 Controller ​​ - 有没有其他人遇到过这个问题,或者知道这两者是否不打算一起使用?

这也让我怀疑我是否应该在每个 Controller 上使用 ValidateAntiForgeryTokenWrapperAttribute,有什么想法吗?

最佳答案

在远程属性中执行以下操作:

[Remote("MyValidationMethod","MyController", HttpMethod = "POST", AdditionalFields = "__RequestVerificationToken")]
public object MyField { get; set; }

AdditionalFields 属性可以接受表单中逗号分隔的字段名称; __RequestVerificationToken 是包含 AntiForgeryToken 的隐藏字段的名称。

关于asp.net-mvc - MVC3 远程验证和 AntiForgeryToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6734206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com