雙重轉義序列指的是在對字符串進行轉義時,某些字符被多次轉義的情況。在URL編碼中,通常會對特殊字符進行轉義,以確保它們能夠正確傳遞並被服務器解析。例如,空格會被轉義爲"%20",加號(+)通常不會被轉義,因爲它在URL中表示空格。然而,如果服務器錯誤地将已經被轉義過的字符再次進行轉義,就會産生雙重轉義序列。
服務器報告請求篩選模塊被配置爲拒絕包含雙重轉義序列的請求,這可能意味着服務器認爲URL中的加號已經被轉義了兩次,即加號被轉義爲%2B,然後又被轉義爲%252B,這被認爲是不正確的。服務器可能會拒絕這樣的請求,因爲它可能會導緻解析錯誤或安全問題。
修改
applicationHost.config
文件配置,注意修改前請先備份文件以防萬一。
%SystemDrive%\Windows\System32\inetsrv\config
文件夾下找到對應的站點配置文件,一般爲 \applicationHost.config
,然後使用文本編輯器(如記事本)打開。<requestFiltering>
部分。在 IIS 7 中,默認情況下,URLScan 模塊可能會阻止包含加號的 URL 請求。<requestFiltering>
部分下,你可以添加一個 <allowDoubleEscaping>
元素,将其值設置爲 true
,以允許 URL 中的加號。示例:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>