【发布时间】:2016-09-22 18:16:40
【问题描述】:
我们有一个处理来自 Android 和 iOS 应用程序的请求的 Asp.NET web api。我们开始遇到包含查询字符串的 GET 请求的问题。像这样的 URL:http://localhost:10723/api/Locations?userId=32432-a4r2-f32r3 给出了这样的响应:
从客户端检测到有潜在危险的 Request.Path 值 (?)
经过一些调试,我看到查询字符串已经被编码,所以实际请求是http://localhost:10723/api/Locations%3FuserId=32432-a4r2-f32r3,这导致了问题。我可以对将解决此问题的应用程序进行更改,但由于这是一个正在生产中的应用程序,我急切地在 API 中寻找一个快速修复程序,以使应用程序现在可以工作。
到目前为止我所尝试的:
<httpRuntime targetFramework="4.5.1" requestValidationMode="2.0" />
<pages validateRequest="false" />
以及相关的 httpRuntime web.config 技巧。
我还编写了一个自定义请求验证器。
但一切都在告诉我,这是在页面验证和我的请求验证器被命中之前发生的事情。
【问题讨论】:
标签: azure asp.net-web-api