【发布时间】:2013-11-15 17:37:45
【问题描述】:
我使用“Internet 应用程序”模板创建了一个新的 ASP.NET MVC 3 / .NET Framework 4.0 站点。我使用 Nuget 安装了Windows Azure Web Role (MVC3) 包,然后按照Access Control Service walkthrough 设置了 Windows Live ID 和 Google 身份验证。
很快,我遇到了“从客户端检测到潜在危险的 Request.Form 值”错误,并按照article in the Windows Identity Foundation wiki 尝试解决它。不幸的是,我没有尝试过任何工作,包括:
在根 web.config 和 Views\web.config 中设置
<httpRuntime requestValidationMode="2.0"/>和<pages validateRequest="false">从 WIF SDK 复制
SampleRequestValidator到项目中并在两个 web.configs 中设置<httpRuntime requestValidationType="SampleRequestValidator"/>
我也尝试过这些变体,但没有成功。
有什么想法吗?
这是完整的例外:
异常详细信息: System.Web.HttpRequestValidationException:从客户端检测到具有潜在危险的 Request.Form 值 (wresult="<t:RequestSecurityTo...")。
说明:请求验证检测到潜在危险的客户端输入值,请求的处理已中止。此值可能表示试图破坏您的应用程序的安全性,例如跨站点脚本攻击。要允许页面覆盖应用程序请求验证设置,请将 httpRuntime 配置部分中的 requestValidationMode 属性设置为 requestValidationMode="2.0"。示例:<httpRuntime requestValidationMode="2.0" />。设置此值后,您可以通过在 Page 指令或 <pages> 配置部分中设置 validateRequest="false" 来禁用请求验证。但是,强烈建议您的应用程序在这种情况下明确检查所有输入。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=153133。
堆栈跟踪:
[HttpRequestValidationException (0x80004005):从客户端检测到一个潜在危险的 Request.Form 值 (wresult="<t:RequestSecurityTo...")。]
【问题讨论】:
标签: asp.net-mvc-3 azure wif acs