我在 ASP.NET 网络表单中的请求验证存在问题,我很确定这是因为我在 IIS 7.5(Windows 7 - 本地开发机器)上托管了一个 .NET 3.5 项目。
本质上,我收到了来自外部站点的回发(这完全不在我的控制范围内)并收到以下异常:
A potentially dangerous Request.QueryString value was detected from the client (DATA="<IDP MSGTYPE="Authen...").
我在页面声明中设置了这个:
<%@ page language="C#" autoeventwireup="true" inherits="postexternal" enableviewstate="false" masterpagefile="~/SiteBase/transactional.master" Codebehind="postexternal.aspx.cs" validaterequest="false" %>
(此外,我也尝试在 web.config/page 中将其关闭 - 无济于事。
我认为这可能与(MS 所说的)ASP.NET 4.0 中所做的重大更改有关,如下所述: http ://www.asp.net/learn/whitepapers/aspnet4/break-changes#0.1__Toc256770147
但是,如果我将该配置添加到我的 web.config 中,则会出现配置错误(因为它在 .NET 2.0 应用程序池中运行)。
无论我看起来如何,我现在都被困住了,所以我会很感激人们的任何指示/建议。无论如何我可以通过其他方式解决这个问题吗?)。我可以尝试安装 .NET 2.0,但我不确定它是否会起作用(而且似乎是一种非常脆弱的尝试方法)。
谢谢。