【问题标题】:Send Server.UrlEncoded XML in querystring Causing Error在查询字符串中发送 Server.UrlEncoded XML 导致错误
【发布时间】:2010-04-23 14:24:28
【问题描述】:

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

因此,我需要第 3 方系统来请求我系统中某个页面的服务。 (说明:第 3 方系统生成我的网页的 PDF。我给它一个指向我的页面的 URL,它是那个页面的 PDF。因此,XML 文件包含我需要生成页面的数据)

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

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

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

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

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

据我所知,我发送的数据是安全的,有什么办法可以使这项工作正常进行吗?

谢谢

【问题讨论】:

    标签: c# asp.net xml urlencode


    【解决方案1】:

    您需要禁用Request Validation

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

    【讨论】:

    • 你的意思是说微软在试图联合一个平台来主导 Web 开发的过程中,设法包含了一个阻碍实际开发的功能,而不是让开发人员决定他们想要做什么用他们的代码?好吧,我会相信你的话!谢谢 & +1 :-)
    猜你喜欢
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 2017-08-21
    • 2019-08-04
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多