IIS请求筛选模块被配置为拒绝包含双重转义序列的请求404.11
来源:互联网 发布:源码包安装apache 编辑:程序博客网 时间:2024/06/05 03:41
转自:https://www.cnblogs.com/imust2008/p/6829927.html
文件目录有这样一个包含了加号的文件:2015年日历表(A4+版).pdf
现在要求下载此文件,考虑这样一个url /UploadFile/2015年日历表(A4+版).pdf
如果在浏览器访问这个url,有时候会出现404.11的错误
HTTP Error 404.11 - Not Found
请求筛选模块被配置为拒绝包含双重转义序列的请求
这是什么原因呢?
在window下,加号(+)是合法的文件名,但是在url里代表了不同的意思
参考 http://stackoverflow.com/questions/1005676/urls-and-plus-signs
若是作为queryString的一部分,那么+号代表空格
访问 https://www.baidu.com/?dd=ha+ha 和 https://www.baidu.com/?dd=ha%20ha效果是一样的,解码后,都代表了空格
但是+号作为Url component(注意不是作为queryString)时,就是+号本身,不会转义
例如 http://www.cnblogs.com/imust+2008/p/6829927.html
URL-Normalization: Full (url规范化对空格的编码)
1,什么是双重转义序列
双重转义字符 (例如,"abc\\d") 对于url,+先转义为space(空格),空格再转义为%20
三个转义字符 (例如,abc\\\d)
2,IIS的Request Filtering机制
IIS7以及以上版本,集成了一个URLScan工具,用于扫描url,检测不安全的字符,此工具的Request Filtering模块用于过滤不安全的请求。
https://docs.microsoft.com/en-us/iis/manage/configuring-security/use-request-filtering
其中的double-encoded requests filter(双重转义过滤器),用于过滤双重转义序列。
当url出现双重转义序列时,IIS将对url进行两次url规范化(url normalization),当第一次规范化后的字符串与第二次规范化的字符串不一致时,IIS认为这是危险的url,IIS将拒绝这一请求,并返回404.11错误。
3,
关闭 double-encoded requests filter
<system.webServer>
<security>
<requestFiltering allowDoubleEscaping="true"/>
</security>
</system.webServer>
- IIS请求筛选模块被配置为拒绝包含双重转义序列的请求404.11
- [iis7]请求筛选模块被配置为拒绝包含双重转义序列的请求。HTTP 错误 404.11 - Not Found
- [iis7]请求筛选模块被配置为拒绝包含双重转义序列的请求。HTTP 错误 404.11 - Not Found
- [iis7]请求筛选模块被配置为拒绝包含双重转义序列的请求。HTTP 错误 404.11 - Not Found
- ASP.NET 请求筛选模块被配置为拒绝包含双重转义序列的请求。HTTP 错误 404.11 - Not Found
- [iis7.5]请求筛选模块被配置为拒绝包含双重转义序列的请求。HTTP 错误 404.11 - Not Found
- 请求筛选模块被配置为拒绝包含双重转义序列的请求。---该问题的解决办法之一
- IIS7.0提示“请求筛选模块被配置为拒绝包含双重转义序列的请求”处理办法
- IIS8.0, IIS7.0提示“请求筛选模块被配置为拒绝包含双重转义序列的请求”处理办法
- 【工具设置】解决“请求筛选模块被配置为拒绝包含双重转义序列的请求”错误
- IIS8.0, IIS7.0提示“请求筛选模块被配置为拒绝包含双重转义序列的请求”处理办法
- IIS请求筛选模块被配置为拒绝超过请求内容长度的请求
- IIS请求筛选模块被配置为拒绝超过请求内容长度的请求
- IIS请求筛选模块被配置为拒绝超过请求内容长度的请求
- IIS请求筛选模块被配置为拒绝超过请求内容长度的请求
- IIS请求筛选模块被配置为拒绝超过请求内容长度的请求
- IIS请求筛选模块被配置为拒绝超过请求内容长度的请求
- IIS请求筛选模块被配置为拒绝超过请求内容长度的请求
- c语言练习题
- 一则通过Android Canvas动态绘制图形的实例介绍
- 从今天开始,每天稳定博客,学习网络安全
- 安卓7.0 状态栏分析 01----> 信号栏更新
- SDN之旅—mininet(在Windows系统上)安装
- IIS请求筛选模块被配置为拒绝包含双重转义序列的请求404.11
- 目标跟踪方法总结
- python学习过程
- 如何修改网页小图标,浏览器页面上的图标。
- ubuntu 安装redis两种方式 教程
- 知乎对「如何提问题?」的答案总结
- 约瑟夫问题概述
- IOS微信端返回重写
- ASCII、Unicode、GBK和UTF-8字符编码的区别联系