Двайныя экраніраваныя паслядоўнасці адносяцца да сітуацый, калі пэўныя сімвалы экраніруюць некалькі разоў пры экраніраванні радка. У кадоўцы URL спецыяльныя сімвалы часта экраніруюць, каб пераканацца, што яны правільна перадаюцца і аналізуюцца серверам. Напрыклад, прабелы экраніруюцца як "%20", а знак плюс (+) звычайна не экрануецца, таму што ён уяўляе сабой прабел у URL. Аднак, калі сервер памылкова экраніруе сімвалы, якія ўжо былі экранаваныя, будзе створана падвойная экраніраваная паслядоўнасць.
Сервер паведамляе, што модуль фільтрацыі запытаў настроены на адхіленне запытаў, якія ўтрымліваюць двайныя escape-паслядоўнасці. Гэта можа азначаць, што сервер лічыць, што знак плюса ў URL быў экранаваны двойчы, гэта значыць, знак плюс экраніраваны як %2B і. затым вызначэнне ўцёкаў - %252B, што лічыцца няправільным. Сервер можа адхіліць такі запыт, таму што гэта можа выклікаць памылкі разбору або праблемы з бяспекай.
Пераглядаць
applicationHost.config
Канфігурацыя файла, калі ласка, зрабіце рэзервовую копію файла, перш чым змяняць яго на ўсялякі выпадак.
%SystemDrive%\Windows\System32\inetsrv\config
Звычайна знайдзіце ў тэчцы адпаведны файл канфігурацыі сайта \applicationHost.config
, а потым адкрыйце яго ў тэкставым рэдактары (напрыклад, у нататніку).<requestFiltering>
частка. У IIS 7 модуль URLScan можа па змаўчанні блакіраваць URL-запыты, якія змяшчаюць знак плюс.<requestFiltering>
раздзел, вы можаце дадаць a <allowDoubleEscaping>
элемент, усталяваўшы яго значэнне true
, каб дазволіць знак плюс у URL. прыклад:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>