Поделиться через


Элемент <remove> для schemeSettings (параметры URI)

Удаляет параметр схемы для имени схемы.

<remove 
   <name = "http|https"/>
/>

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут

Описание

имя

Имя схемы, для которой применяется этот параметр. Единственные поддерживаемые значения — name="http"и имя="https".

Дочерние элементы

Отсутствует.

Родительские элементы

Элемент

Описание

<schemeSettings>

Указывает, как Uri будет анализироваться по конкретным схемам.

Заметки

По умолчанию класс System.Uri разэкранирует закодированные знаками процента разделители путей до выполнения сжатия пути. Это было реализовано следующим образом, как механизм обеспечения безопасности от атак:

https://www.contoso.com/.. %2F.. %2F/Windows/System32/cmd.exe?/c+dir+c:\

Если этот URI передается вниз к модулям, не обрабатывающим корректно символы, закодированные знаками процента, это может привести к выполнению сервером следующей команды:

c:\Windows\System32\cmd.exe /c dir c:\

По этой причине класс System.Uri сначала разэкранирует разделители пути, а затем применяет сжатие пути. Результат передачи вредоносного URL-адреса выше в конструктор класса System.Uri приводит к следующему виду универсального кода ресурса (URI):

https://www.microsoft.com/Windows/System32/cmd.exe?/c+dir+c:\\

Это поведение по умолчанию может быть изменено так, чтобы закодированные знаками процента разделители пути не разэкранировались; для этого к конкретной схеме следует применить параметр конфигурации schemeSettings.

Файлы конфигурации

Этот элемент может быть использован в файле конфигурации приложения или в файле конфигурации компьютера (Machine.config).

Пример

В следующем примере кода показана конфигурация, используемая классом Uri, которая удаляет все параметры схемы для схемы HTTP.

<configuration>
  <uri>
    <schemeSettings>
      <remove name="http"/>
    </schemeSettings>
  </uri>
</configuration>

См. также

Ссылки

Схема параметров сети

System.Configuration.SchemeSettingElement

System.Configuration.SchemeSettingElementCollection

System.Configuration.UriSection

UriSection.SchemeSettings

System.GenericUriParserOptions

System.Uri