Двойные escape-последовательности относятся к ситуациям, когда определенные символы экранируются несколько раз при экранировании строки. При кодировании URL-адреса специальные символы часто экранируются, чтобы гарантировать их правильную передачу и анализ сервером. Например, пробелы экранируются как «%20», а знак плюса (+) обычно не экранируется, поскольку он представляет собой пробел в URL-адресе. Однако если сервер по ошибке снова экранирует символы, которые уже были экранированы, будет сгенерирована двойная escape-последовательность.
Сервер сообщает, что модуль фильтрации запросов настроен на отклонение запросов, содержащих двойные escape-последовательности. Это может означать, что сервер считает, что знак плюса в URL-адресе экранирован дважды, то есть знак плюс экранируется как %2B и. затем снова экранировался. Определение — %252B, что считается неверным. Сервер может отклонить такой запрос, поскольку это может вызвать ошибки анализа или проблемы безопасности.
Исправлять
applicationHost.config
Конфигурация файла: на всякий случай сделайте резервную копию файла перед его изменением.
%SystemDrive%\Windows\System32\inetsrv\config
Найдите соответствующий файл конфигурации сайта в папке, обычно \applicationHost.config
, а затем откройте его в текстовом редакторе (например, в Блокноте).<requestFiltering>
часть. В IIS 7 модуль URLScan может по умолчанию блокировать URL-запросы, содержащие знак плюса.<requestFiltering>
раздел, вы можете добавить <allowDoubleEscaping>
элемент, установив его значение true
, чтобы разрешить знак плюса в URL-адресе. Пример:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>