9

当我在表单中输入 HTML 时,我们的测试 Web 服务器上安装了 .NET 4.0 的应用程序出现错误。我收到以下常见错误:

从客户端检测到潜在危险的 Request.Form 值

这是由 .NET 4.0 中的更改导致的,该更改禁用关闭 HTML 输入的自动验证。我可以通过添加

<httpRuntime requestValidationMode="2.0" />

指向<system.web>我的根 web.config 部分的指令,然后 .NET 遵循<pages validateRequest="false" />同一根 web.config 中的指令。奇怪的是,我需要在本地机器(版本 5.1)上重新启动 IIS 才能使此更改生效。

但是,当我将根 web.config 部署到我们的测试服务器时,我仍然收到验证错误。我尝试过使用run > iisreset、停止和启动 IIS(测试服务器上的版本为 6.0),我什至重新启动了服务器以完全清除 .NET。我的应用程序肯定会选择新的根 web.config(我已经对此进行了测试),但是该<httpRuntime requestValidationMode="2.0" />指令似乎只是被忽略了。

我的应用程序在我的本地计算机和测试服务器上都配置为 .NET 4.0 应用程序。我尝试重建应用程序并将其重新部署到测试 Web 服务器。任何人都可以建议我需要做什么才能使其正常工作吗?

在此先感谢,克里斯

4

1 回答 1

3

如果您使用的是 MVC3,请尝试在Global.asax.cs.

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new ValidateInputAttribute(false));
}
于 2012-11-06T07:03:30.167 回答