Partilhar via


<schemeSettings> Elemento (configurações de Uri)

Especifica como um Uri será analisado para esquemas específicos.

< > <configuração uri><schemeDefinições>

Sintaxe

<schemeSettings>
</schemeSettings>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

Nenhum

Elementos filho

elemento Descrição
adicionar Adiciona uma configuração de esquema para um nome de esquema.
claro Limpa todas as configurações de esquema existentes.
remover Remove uma configuração de esquema para um nome de esquema.

Elementos pai

elemento Descrição
URI Contém configurações que especificam como o .NET Framework manipula endereços da Web expressos usando URIs (uniform resource identifiers).

Observações

Por padrão, a classe cancela a exclusão dos delimitadores de caminho codificados por porcentagem antes de executar a System.Uri compactação de caminho. Isso foi implementado como um mecanismo de segurança contra ataques como os seguintes:

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

Se esse URI for passado para módulos que não manipulam caracteres codificados por porcentagem corretamente, isso poderá resultar na execução do seguinte comando pelo servidor:

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

Por esse motivo, a classe primeiro desbloqueia os delimitadores de caminho e, em seguida, System.Uri aplica a compactação de caminho. O resultado de passar a URL maliciosa acima para System.Uri o construtor de classe resulta no seguinte URI:

http://www.contoso.com/Windows/System32/cmd.exe?/c+dir+c:\

Esse comportamento padrão pode ser modificado para não anular a fuga de delimitadores de caminho codificados por porcentagem usando a opção de configuração schemeSettings para um esquema específico.

Arquivos de configuração

Este elemento pode ser usado no arquivo de configuração do aplicativo ou no arquivo de configuração da máquina (Machine.config).

Exemplo

O exemplo a Uri seguir mostra uma configuração usada pela classe para oferecer suporte a não escapar de delimitadores de caminho codificados por porcentagem para o esquema http.

<configuration>
  <uri>
    <schemeSettings>
      <add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
    </schemeSettings>
  </uri>
</configuration>

Informações do elemento

Namespace: Sistema

Ver também