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

Asp.net 当URL中存在%0A时,IIS 7请求响应错误,asp.net,asp.net-mvc,asp.net-mvc-3,iis,iis-7,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Iis,Iis 7,我有一个应该接受Salesforce不安全字符的应用程序。它们是%0A和%0D(到目前为止…),它们不工作 我已经将allowDoubleEscaping设置为true,requestValidationMode设置为2.0,requestPathInvalidCharacters设置为BLANK,relaxedurltofilessystemapping设置为true,requestLength设置为1024 它不起作用。然后,我尝试将自定义错误设置为400,以重定向到同一页面,而不传递Sal

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

我已经将
allowDoubleEscaping
设置为
true
requestValidationMode
设置为
2.0
requestPathInvalidCharacters
设置为
BLANK
relaxedurltofilessystemapping
设置为
true,
requestLength
设置为
1024

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

然后,我尝试通过IIS 7错误页面部分执行同样的操作,但仍然没有成功

我怎样才能:

  • 让应用程序接受字符
  • 或者让应用程序/IIS重定向到同一页面进行手动输入
  • 所有这些都在ASP.NET MVC 3应用程序中,但我怀疑这是否重要,因为它可能在调用ASP.NET运行时之前就停止了它


    我非常感谢你的帮助。提前谢谢

    您可能想在IIS管理器中查找,请单击服务器节点(或网站节点),然后找到
    请求筛选
    图标。转到
    URL
    选项卡,在这里您可以始终允许特定的URL,也可以更改通常处理URL过滤的方式。我相信这些设置也可以在web.config文件的部分中找到,但是我不知道所有的设置元素和属性是什么(我相信您可以进行搜索并轻松找到它们)

    在修复此问题后,您可能还必须通过ASP.NET进行抗争。

    检查您的URLScan配置。


    您的[DenyUrlSequences]部分中是否列出了这一点?

    可能有点太晚了,但对我来说,它通过使用AllowCorrectedChars注册表设置(如中所述)更改配置的异常来工作。默认值为0,我将其更改为1。如果非零,Http.sys接受解码为U+0000–U+001F和U+007F–U+009F范围的请求URL中的十六进制转义字符。

    错误是来自ASP.NET还是IIS?您通常可以看出区别,ASP.NET有YSOD(死亡黄屏),IIS 7看起来。。。可能是different.IIS,它是白色的,上面写着“错误的请求{HR}HTTP错误400。请求URL无效。”@Alex你找到解决方法了吗?我对URL中的%0A和%0D有着完全相同的问题。@Geekman,我有过,但已经很久了,我不知道答案是什么。在任何情况下,我在Web.config中都有
    requestPathInvalidCharacters=“,*,,,:,\”
    relaxedUrlToFileSystemMapping=“true”
    。我还在IIS中的请求筛选>编辑功能设置下启用了
    允许双重转义
    。你可以看到它是否是这些设置之一,但就像我说的,我已经不记得是什么让它工作了。@Alex,你上面列出的一切都不适合我。也许你还记得什么?