<het element schemeSettings> (URI-instellingen)
Hiermee geeft u op hoe een Uri wordt geparseerd voor specifieke schema's.
<configuratie>
<Uri>
<schemeSettings>
Syntax
<schemeSettings>
</schemeSettings>
Kenmerken en elementen
In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven.
Kenmerken
Geen
Onderliggende elementen
Element | Beschrijving |
---|---|
add | Hiermee voegt u een schema-instelling toe voor de naam van een schema. |
Duidelijk | Wist alle bestaande schema-instellingen. |
Verwijderen | Hiermee verwijdert u een schema-instelling voor een schemanaam. |
Bovenliggende elementen
Element | Beschrijving |
---|---|
Uri | Bevat instellingen die aangeven hoe de .NET Framework webadressen verwerkt die worden uitgedrukt met behulp van URI's (Uniform Resource Identifiers). |
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>
Elementgegevens
Naamruimte: Systeem