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

Adiciona uma configuração de esquema para um nome de 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 essa configuração se aplica. Os únicos valores com suporte são name="http" e name="https".

{Nome do atributo} Atributo

Value Description
genericUriParserOptions As opções do analisador para esse esquema. O único valor com suporte é genericUriParserOptions= "DontUnescapePathDotsAndSlashes".

Elementos filho

None

Elementos pai

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

Observações

Por padrão, a System.Uri classe desconecta delimitadores de caminho codificados por porcentagem antes de executar a compactação de caminho. Isso 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 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, System.Uri a classe primeiro cancela os delimitadores de caminho e, em seguida, aplica a compactação de caminho. O resultado da passagem da URL mal-intencionada acima para System.Uri o construtor de classe resulta no seguinte URI:

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

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

Arquivos de Configuração

Esse elemento pode ser usado no arquivo de configuração do aplicativo ou no arquivo de configuração do computador (Machine.config).

Example

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

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

Consulte também