点晴MIS内部交流论坛加入收藏
新手上路
论坛搜索
 您的位置:点晴MIS系统问题答疑『 经验分享&问题答疑 』浏览当前帖子  
登 陆注 册论坛帮助  

  网站搜索
  搜索范围: 搜索方式: 关键词(可用空格分开)  

  作者及文章信息: 您是本文的第 809 位读者 
admin

积分:86578
等级:网站管理员
文数:7052
注册:2004-7-20

  信 息   留 言   主 页   编 辑   引 用    

楼 顶 

 工作流下载附件提示HTTP错误404.11NotFound请求筛选模块被配置为拒绝包含双重转义序列的请求是什么原因



:工作流下载附件报HTTP错误404.11NotFound请求筛选模块被配置为拒绝包含双重转义序列的请求是什么原因

 



附件文件名包含特殊字符(+'/等)造成的,去掉特殊字符即可,附件文件名命名规则如下:

网盘、知识管理、Email等模块中上传/下载附件失败,附件名称有什么特殊字符需要注意的?文件命名规则是什么?





更多说明:


文件目录有这样一个包含了加号的文件: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,解决方案:


第一种解决方法:


在地址栏输入:%windir%\system32\inetsrv\config\applicationhost.config,然后单击打开,找到:


426行<requestFiltering>

427行<fileExtensions allowUnlisted="true" applyToWebDAV="true">

将426行<requestFiltering>

改为   

<requestFiltering allowDoubleEscaping="true">


第二种解决方法:


在wwwroot下建立web.config 内容如下:

< ?xml version="1.0" encoding="UTF-8"?>

< configuration>

< system.webServer>

< security>

< requestFiltering allowDoubleEscaping="True"/>

< /security>


< /system.webServer>

< /configuration>


如果已有web.config,只需在其中添加<security>这一节就行了。



该文章在 2017-9-12 15:06:39 编辑过

  离 线  2016-12-6 9:42:25 
  本文章共有 0 页, 0 张回文,每页有 10 张回文 >> [ ]
页码:
Copyright 2003-2017 ClickSun All Rights Reserved