Delen via


<Element toevoegen> voor schemeSettings (URI-instellingen)

Hiermee voegt u een schema-instelling toe voor de naam van een schema.

<Configuratie>
  <Uri>
    <schemeSettings>
      <Toevoegen>

Syntax

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

Kenmerken en elementen

In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven

Kenmerken

Kenmerk Beschrijving
naam De schemanaam waarvoor deze instelling van toepassing is. De enige ondersteunde waarden zijn name="http" en name="https".

{Kenmerknaam} Kenmerk

Waarde Beschrijving
genericUriParserOptions De parseropties voor dit schema. De enige ondersteunde waarde is genericUriParserOptions= "DontUnescapePathDotsAndSlashes".

Onderliggende elementen

Geen

Bovenliggende elementen

Element Beschrijving
<het element schemeSettings> (URI-instellingen) Hiermee geeft u op hoe een Uri wordt geparseerd voor specifieke schema's.

Opmerkingen

Standaard verwijdert de System.Uri klasse escapen procent gecodeerde padscheidingstekens voordat padcompressie wordt uitgevoerd. Dit is geïmplementeerd als een beveiligingsmechanisme tegen aanvallen zoals de volgende:

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

Als deze URI wordt doorgegeven aan modules die het percentage gecodeerde tekens niet correct verwerken, kan dit ertoe leiden dat de volgende opdracht wordt uitgevoerd door de server:

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

System.Uri Daarom verwijdert de klasse eerst escapepadscheidingstekens en past vervolgens padcompressie toe. Het resultaat van het doorgeven van de schadelijke URL hierboven aan System.Uri de klasseconstructor resulteert in de volgende URI:

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

Dit standaardgedrag kan worden gewijzigd om geen escapepercentage gecodeerde padscheidingstekens ongedaan te maken met behulp van de configuratieoptie schemeSettings voor een specifiek schema.

Configuratiebestanden

Dit element kan worden gebruikt in het configuratiebestand van de toepassing of het configuratiebestand van de machine (Machine.config).

Voorbeeld

In het volgende voorbeeld ziet u een configuratie die door de Uri klasse wordt gebruikt om geen escape-gecodeerde padscheidingstekens voor het HTTP-schema te ondersteunen.

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

Zie ook