Dvojité escape sekvence se vztahují k situacím, kdy jsou určité znaky při escapování řetězce několikrát zakódovány. V kódování URL jsou speciální znaky často uvozeny, aby bylo zajištěno, že jsou správně předány a analyzovány serverem. Například mezery jsou uvozeny jako "%20" a znaménko plus (+) obvykle není uvozeno, protože představuje mezeru v adrese URL. Pokud však server omylem uzavře znaky, které již byly znovu zakódovány, vygeneruje se dvojitá sekvence escape.
Server hlásí, že modul filtrování požadavků je nakonfigurován tak, aby odmítal požadavky, které obsahují dvojité sekvence escape, což může znamenat, že se server domnívá, že znaménko plus v adrese URL bylo escapováno dvakrát, to znamená, že znaménko plus je escapováno jako %2B a potom znovu escaped Definice je %252B, což je považováno za nesprávné. Server může takový požadavek odmítnout, protože může způsobit chyby analýzy nebo bezpečnostní problémy.
Revidovat
applicationHost.config
Konfigurace souboru, před úpravou souboru pro jistotu zálohujte soubor.
%SystemDrive%\Windows\System32\inetsrv\config
Ve složce obvykle vyhledejte odpovídající konfigurační soubor webu \applicationHost.config
a poté jej otevřete pomocí textového editoru (jako je Poznámkový blok).<requestFiltering>
část. Ve službě IIS 7 může modul URLScan ve výchozím nastavení blokovat požadavky na adresy URL obsahující znaménko plus.<requestFiltering>
sekce, můžete přidat a <allowDoubleEscaping>
prvek a nastavte jeho hodnotu na true
, abyste povolili znaménko plus v adrese URL. Příklad:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>