Двојните секвенци за бегство се однесуваат на ситуации каде што одредени знаци се бегаат повеќе пати кога бегаат од низа. Во кодирањето на URL-то, специјалните знаци често се бегаат за да се осигура дека тие се пренесуваат правилно и анализирани од серверот. На пример, празнините се бегаат како „%20“, а знакот плус (+) обично не се испушта бидејќи претставува празно место во URL-то. Меѓутоа, ако серверот погрешно ги избегна знаците што веќе биле повторно избегнати, ќе се генерира двојна низа за бегство.
Серверот известува дека модулот за филтрирање барања е конфигуриран да ги отфрла барањата што содржат двојни секвенци за бегство, што може да значи дека серверот верува дека знакот плус во URL-то е двапати избеган, односно знакот плус е отфрлен како %2B и потоа повторно избега Дефиницијата е %252B, што се смета за неточна. Серверот може да одбие такво барање бидејќи може да предизвика грешки при парсирање или безбедносни проблеми.
Ревидирај
applicationHost.config
Конфигурација на датотеката, ве молиме направете резервна копија на датотеката пред да ја измените за секој случај.
%SystemDrive%\Windows\System32\inetsrv\config
Најди ја соодветната датотека за конфигурација на страницата под папката, обично \applicationHost.config
, а потоа отворете го со уредувач на текст (како што е Notepad).<requestFiltering>
дел. Во IIS 7, модулот URLScan може стандардно да блокира барања за URL кои содржат знак плус.<requestFiltering>
дел, можете да додадете a <allowDoubleEscaping>
елемент, поставувајќи ја неговата вредност на true
, за да се дозволи знакот плус во URL-то. Пример:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>