Asp.net 当URL中存在%0A时,IIS 7请求响应错误
我有一个应该接受Salesforce不安全字符的应用程序。它们是%0A和%0D(到目前为止…),它们不工作 我已经将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
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,你上面列出的一切都不适合我。也许你还记得什么?