我正在开发一个 xamarin 应用程序,在该应用程序中,我无法完全控制发送给我的数据,因为数据存储在外部。老实说,创建 API 的人不了解 Web 请求的工作原理,并且不断发送杂散的 PHP、SQL 和 HTML 以及他对 API 调用的响应。
例如,有时在"deleteReport"函数上,在失败时,他会发送包含内联SQL脚本的整个PHP页面,所以我真正用来识别成功的只是状态代码。虽然这真的很糟糕,但它在内部商业应用程序中有一小部分用户,所以我别无选择,只能处理它。
由于上述原因,我通过将 Web 请求发送到 CMS 上的函数来记录所有内容,CMS 上的函数是在 IIS 上运行的 C# 应用程序。
这在大约 99% 的情况下有效,但是我发现当它失败时,我会收到大量随机 PHP 和 SQL,因此我收到"从客户端检测到潜在危险的 Request.Form 值"错误消息,并且日志没有命中函数。
我尝试设置requestPathInvalidCharacters=",但没有运气。
如何将日志发送到我的 IIS 应用程序,而不会因特殊字符(&、$ 等(而被拒绝?数据位于请求正文中,而不是 URL 中。
谢谢。
编辑:我将尝试可能的解决方案 对日志进行编码并在收到时对其进行解码。
<configuration>
<system.web>
<pages validateRequest="false" />
<httpRuntime requestValidationMode="2.0"/>
</system.web>
</configuration>