请求验证 - ASP.NET MVC 2(Request Validation - ASP.NET

2019-09-02 12:24发布

已请求验证改变了ASP.NET MVC 2,更确切地说,没有验证?

我做了以下内容:

Web.configs(在应用程序目录,查看目录)

<pages
    validateRequest="false"

控制器/ action属性

[ValidateInput(false)]

在@Page查看指令

ValidateRequest="false"

该页面还得到确认时,HTML内容将被发送抛出一个异常。

UPDATE

创建一个新的ASP.NET MVC 2应用程序,我修改了主页控制器的指数这个

    [ValidateInput(false)]
    public ActionResult Index(string InputText)
    {
        ViewData["Message"] = "Welcome to ASP.NET MVC!";

        return View();
    }

我查看页面

<% using(Html.BeginForm()){ %>
    <%= Html.TextBox("InputText") %>
    <input type="submit" />
<% } %>

还是一样的问题,则抛出异常。

Answer 1:

我应该更仔细地阅读错误下一次:

以允许页面重写应用程序请求验证设置,在配置部设置requestValidationMode =“2.0”。 设置此值后,然后你可以通过设置validateRequest =“假”禁用请求验证

我把这个应用程序的web.config

<system.web>
  <httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />
</system.web>

和它的工作。

更新:

我正在运行ASP.NET 4这就是为什么:P



Answer 2:

在这里插入关于XSS强制性警告。

那你装饰了控制器(或行为)与ValidateInputAttribute应该足够,因为所有验证在ASP.NET MVC该控制器级别进行

我刚才想这对现在的动作,并返回一个不错的,邪恶的警报()时,我的输出,所以我斗胆猜测,还有别的东西怎么回事。

你有一个HandleErrorAttribute设立地方?



文章来源: Request Validation - ASP.NET MVC 2