工作流下載附件提示HTTP錯誤404.11NotFound請求篩選模塊被配置為拒絕包含雙重轉義序列的請求是什么原因
:工作流下載附件報HTTP錯誤404.11NotFound請求篩選模塊被配置為拒絕包含雙重轉義序列的請求是什么原因 附件文件名包含特殊字符(+、'、/等)造成的,去掉特殊字符即可,附件文件名命名規(guī)則如下: :網(wǎng)盤、知識管理、Email等模塊中上傳/下載附件失敗,附件名稱有什么特殊字符需要注意的?文件命名規(guī)則是什么? 更多說明: 文件目錄有這樣一個包含了加號的文件:2015年日歷表(A4+版).pdf 現(xiàn)在要求下載此文件,考慮這樣一個url /UploadFile/2015年日歷表(A4+版).pdf 如果在瀏覽器訪問這個url,有時候會出現(xiàn)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規(guī)范化對空格的編碼)
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出現(xiàn)雙重轉義序列時,IIS將對url進行兩次url規(guī)范化(url normalization),當?shù)谝淮我?guī)范化后的字符串與第二次規(guī)范化的字符串不一致時,IIS認為這是危險的url,IIS將拒絕這一請求,并返回404.11錯誤。
3,解決方案: 第一種解決方法: 在地址欄輸入:%windir%\system32\inetsrv\config\applicationhost.config,然后單擊打開,找到: 426行<requestFiltering> 第二種解決方法:
如果已有web.config,只需在其中添加<security>這一節(jié)就行了。 該文章在 2017/9/12 15:06:39 編輯過 |
關鍵字查詢
相關文章
正在查詢... |