Partilhar via


<add Element for schemeSettings (Uri Settings) (Adicionar> Elemento para schemeSettings [Definições de URI])

Adiciona uma definição de esquema para um nome de esquema.

<configuração>
  <URI>
    <schemeSettings>
      <adicionar>

Syntax

<add
  name="http|https"
  genericUriParserOptions="DontUnescapePathDotsAndSlashes"
/>  

Atributos e Elementos

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

Atributos

Atributo Descrição
name O nome do esquema ao qual esta definição se aplica. Os únicos valores suportados são name="http" e name="https".

{Attribute name} Atributo

Valor Descrição
genericUriParserOptions As opções de analisador para este esquema. O único valor suportado é genericUriParserOptions= "DontUnescapePathDotsAndSlashes".

Elementos Subordinados

Nenhuma

Elementos Principais

Elemento Descrição
<schemeSettings Element (Uri Settings) (Elemento schemeSettings> [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 de 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 estão a processar corretamente 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 a classe primeiro anula a fuga de delimitadores de caminho e, em seguida, aplica a compressão de caminho. O resultado da transmissão do URL malicioso acima para o System.Uri 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 escape 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 para suportar a não fuga de delimitadores de caminho codificados por percentagem para o esquema http.

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

Ver também