繁体   English   中英

当URL中存在%0A时,IIS 7错误请求响应

[英]IIS 7 Bad Request response when %0A exists in the URL

我有一个应用程序,它应该接受来自Salesforce的不安全字符。 它们是%0A和%0D(到目前为止......)并且它们不起作用。

我将allowDoubleEscaping设置为truerequestValidationMode2.0requestPathInvalidCharactersBLANKrelaxedUrlToFileSystemMappingtruemaxRequestLength1024

它没用。 然后我尝试将400的自定义错误设置为重定向到同一页面,而不传递Salesforce发送的数据。 也没工作。

然后我尝试通过IIS 7错误页面部分执行相同操作,但它仍然无法正常工作。

我怎样才能:

  1. 获取应用程序接受字符?
  2. 或者让app / IIS重定向到同一页面进行手动输入?

所有这些都在ASP.NET MVC 3应用程序中,但我怀疑这很重要,因为它可能会在它调用ASP.NET运行时之前阻止它。

我很感激一些帮助。 提前致谢!

您可能希望查看的位于IIS管理器中,单击您的服务器节点(或网站节点),找到“ Request Filtering图标。 转到URL选项卡,您可以在此处始终允许特定URL,或者更改一般处理URL过滤的方式。 我确信这些设置在web.config文件的部分下也是可用的,但是我不知道所有设置元素和属性是什么(我确信你可以进行搜索并轻松找到它们)。

修复此问题后,您可能必须通过ASP.NET。

也许这有点太晚了,但对我而言,它通过使用AllowRestrictedChars注册表设置更改配置的异常(如https://support.microsoft.com/en-us/kb/820129中所述 )。 默认值为0,我将其更改为1.如果非零,Http.sys接受请求URL中的十六进制转义字符,解码为U + 0000 - U + 001F和U + 007F - U + 009F范围。

检查您的URLScan配置。 http://learn.iis.net/page.aspx/476/common-urlscan-scenarios/

你碰巧在你的[DenyUrlSequences]部分中列出了这个吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM