Двойните екраниращи последователности се отнасят до ситуации, при които определени символи се екранират многократно при екраниране на низ. При кодирането на 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>