双重转义序列指的是在对字符串进行转义时,某些字符被多次转义的情况。在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>