在Querystring中发送Server.UrlEncoded XML导致错误

时间:2010-04-23 14:24:28

标签: c# asp.net xml urlencode

我正在尝试发送一串XML作为查询字符串的一部分。通常我会发布这个XML,但我将它发送到第三方系统,我无法发布内容。

因此,我需要第三方系统来请求我系统中某个页面的服务。 (解释:第三方系统生成我的网页的PDF。我给它一个URL到我的页面,它是PDF的那个页面。所以,XML文件包含我需要生成页面的数据)

无论如何,我的查询字符串如下:

string data = Server.UrlEncode(xmlSnippet.ToString());

string sFullUrl = urlString + "?data=" + data;

我给第3个pary系统这个URL,它调用我的页面..除了请求没有到达页面。它使用以下消息进入Application_Error处理程序:

"A potentially dangerous Request.QueryString value was detected from the client (data=[my XML data])"

据我所知,我发送的数据是安全的,有什么方法可以让我这么做吗?

由于

1 个答案:

答案 0 :(得分:2)

您需要停用Request Validation

这是一个无可救药的破坏和无效的“反跨站点脚本”功能,非常遗憾的是,它在ASP.NET中默认启用。它将阻止对包含看似标记的传入数据的任何请求的访问。