Sequências de escape duplo referem-se a situações em que certos caracteres são escapados várias vezes ao escapar de uma string. Na codificação de URL, os caracteres especiais geralmente são escapados para garantir que sejam transmitidos corretamente e analisados pelo servidor. Por exemplo, os espaços são escapados como "%20" e o sinal de mais (+) geralmente não é escapado porque representa um espaço no URL. No entanto, se o servidor escapar por engano de caracteres que já foram escapados novamente, uma sequência de escape dupla será gerada.
O servidor relata que o módulo de filtragem de solicitações está configurado para rejeitar solicitações que contêm sequências de escape duplas, o que pode significar que o servidor acredita que o sinal de mais na URL foi escapado duas vezes, ou seja, o sinal de mais escapou como %2B e então escapou novamente A definição é% 252B, o que é considerado incorreto. O servidor pode rejeitar tal solicitação porque pode causar erros de análise ou problemas de segurança.
Rever
applicationHost.config
Configuração do arquivo, faça backup do arquivo antes de modificá-lo, apenas para garantir.
%SystemDrive%\Windows\System32\inetsrv\config
Encontre o arquivo de configuração do site correspondente na pasta, geralmente \applicationHost.config
e abra-o com um editor de texto (como o Bloco de Notas).<requestFiltering>
papel. No IIS 7, o módulo URLScan pode bloquear solicitações de URL que contenham um sinal de mais por padrão.<requestFiltering>
seção, você pode adicionar um <allowDoubleEscaping>
elemento, definindo seu valor como true
, para permitir o sinal de mais no URL. Exemplo:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>