Partilhar via


<clear> Element for schemeSettings (Definições de Uri)

Limpa todas as definições de esquema existentes.

<configuração>
  <uri>
    <schemeSettings>
      <limpar>

Syntax

<clear/>  

Atributos e Elementos

As secções seguintes descrevem atributos, elementos subordinados e elementos principais.

Atributos

Nenhum.

Elementos Subordinados

Nenhum.

Elementos Principais

Elemento Descrição
<schemeSettings> Element (Definições de Uri) Especifica como um Uri será analisado para esquemas específicos.

Observações

Por predefinição, a System.Uri classe não escapa a percentagem de delimitadores de caminho codificados antes de executar a compressão do caminho. Isto foi implementado como um mecanismo de segurança contra ataques como o seguinte:

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

Se este URI for transmitido para módulos que não lidam corretamente com carateres codificados por percentagem, poderá resultar na execução do seguinte comando pelo servidor:

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

Por este motivo, System.Uri class first un-escapes path delimiters and then applies path compression. O resultado da transmissão do URL malicioso acima para System.Uri o construtor de classes resulta no seguinte URI:

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

Este comportamento predefinido pode ser modificado para não anular a fuga por cento dos delimitadores de caminho codificados através da opção de configuração schemeSettings para um esquema específico.

Ficheiros de Configuração

Este elemento pode ser utilizado no ficheiro de configuração da aplicação ou no ficheiro de configuração do computador (Machine.config).

Exemplo

O exemplo seguinte mostra uma configuração utilizada pela Uri classe que limpa todas as definições do esquema e, em seguida, adiciona suporte para não escapar de delimitadores de caminho codificados por percentagem para o esquema http.

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

Ver também