<remove> Element for schemeSettings (Uri Settings)
Tar bort en schemainställning för ett schemanamn.
<Konfiguration>
<Uri>
<schemeSettings>
<Ta bort>
Syntax
<remove
name="http|https"
/>
Attribut och element
I följande avsnitt beskrivs attribut, underordnade element och överordnade element.
Attribut
Attribut | Beskrivning |
---|---|
name | Det schemanamn som den här inställningen gäller för. De enda värden som stöds är name="http" och name="https". |
Underordnade element
Inga.
Överordnade element
Element | Beskrivning |
---|---|
<schemeSettings-element> (URI-inställningar) | Anger hur en Uri ska parsas för specifika scheman. |
Kommentarer
Som standard System.Uri avundas klassen procentkodade sökvägsavgränsare innan sökvägskomprimering körs. Detta implementerades som en säkerhetsmekanism mot attacker som följande:
http://www.contoso.com/..%2F..%2F/Windows/System32/cmd.exe?/c+dir+c:\
Om den här URI:n skickas till moduler som inte hanterar procentkodade tecken korrekt kan följande kommando köras av servern:
c:\Windows\System32\cmd.exe /c dir c:\
Därför System.Uri avmarkerar klassen först sökvägsavgränsare och tillämpar sedan sökvägskomprimering. Resultatet av att skicka den skadliga URL:en ovan till System.Uri klasskonstruktorn resulterar i följande URI:
http://www.microsoft.com/Windows/System32/cmd.exe?/c+dir+c:\
Det här standardbeteendet kan ändras till att inte ta bort procentkodade sökvägsavgränsare med hjälp av konfigurationsalternativet schemeSettings för ett specifikt schema.
Konfigurationsfiler
Det här elementet kan användas i programkonfigurationsfilen eller datorkonfigurationsfilen (Machine.config).
Exempel
I följande exempel visas en konfiguration som används av Uri klassen som tar bort alla schemainställningar för http-schemat.
<configuration>
<uri>
<schemeSettings>
<remove name="http"/>
</schemeSettings>
</uri>
</configuration>