<add> Elemento para schemeSettings (Definições de Uri)

Adiciona uma configuração de esquema para o nome do esquema.

<configuration>
  <uri>
    <schemeSettings>
      <add>

Sintaxe

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

Atributos e Elementos

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

Attributes

Attribute Description
nome O nome do esquema para o qual esta configuração se aplica. Os únicos valores suportados são name="http" e name="https".

{Nome do atributo} Atributo

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

Elementos Subordinados

Nenhum

Elementos Principais

Elemento Description
<Elemento schemeSettings> (Definições de URI) Especifica como um Uri will será analisado para esquemas específicos.

Observações

Por defeito, a System.Uri classe remove os delimitadores de caminho codificados por percentagem antes de executar compressão de caminho. Isto foi implementado como mecanismo de segurança contra ataques como os seguintes:

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

Se este URI for passado para módulos que não gerem corretamente caracteres codificados percentualmente, pode resultar na execução do seguinte comando pelo servidor:

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

Por esta razão, System.Uri a classe primeiro desfaz os delimitadores de caminho e depois aplica compressão de caminhos. O resultado de passar a URL maliciosa 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 padrão pode ser modificado para não desfazer os delimitadores de caminho codificados por percentagem usando a opção de configuração schemeSettings para um esquema específico.

Arquivos de configuração

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

Example

O exemplo seguinte mostra uma configuração usada pela Uri classe para suportar a ausência de delimitadores de caminho codificados por percentagem para o esquema http.

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

Consulte também