<remove>-Element für schemeSettings (URI-Einstellungen)
Entfernt eine Schemaeinstellung für einen Schemanamen.
<remove
<name = "http|https"/>
/>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute, untergeordnete Elemente und übergeordnete Elemente beschrieben.
Attribute
Attribute |
Beschreibungen |
---|---|
name |
Der Schemaname, für den diese Einstellung gültig ist. Die einzigen unterstützten Werte sind Name = "http" und Name = "https". |
Untergeordnete Elemente
Keine.
Übergeordnete Elemente
Element |
Beschreibungen |
---|---|
Gibt an, wie ein Uri-Objekt für bestimmte Schemen analysiert wird. |
Hinweise
Standardmäßig entfernt die System.Uri-Klasse Escapezeichen aus als Prozentwert codierte Pfadtrennzeichen vor dem Ausführen der Pfadkomprimierung. Dies wurde als Sicherheitsmechanismus gegen Angriffe implementiert. Beispiel:
https://www.contoso.com/.. %2F.. %2F/Windows/System32/cmd.exe?/c+dir+c:\
Wenn dieser URI an Module übergeben wird und als Prozentwert codierte Zeichen nicht ordnungsgemäß behandelt werden, kann dies dazu führen, dass vom Server der folgende Befehl ausgeführt wird:
c:\Windows\System32\cmd.exe /c dir c:\
Aus diesem Grund entfernt die System.Uri-Klasse zuerst Escapezeichen aus Pfadtrennzeichen und wendet dann die Pfadkomprimierung an. Das Übergeben der böswilligen URL oben an den System.Uri-Klassenkonstruktor führt zum folgenden URI:
https://www.microsoft.com/Windows/System32/cmd.exe?/c+dir+c:\\
Dieses Standardverhalten kann so abgeändert werden, dass aus prozentcodierten Pfadtrennzeichen, die die schemeSettings-Konfigurationsoption für ein bestimmtes Schema verwenden, die Escapezeichen nicht gelöscht werden.
Konfigurationsdateien
Dieses Element kann in der Konfigurationsdatei der Anwendung oder in der Konfigurationsdatei des Computers (Machine.config) verwendet werden.
Beispiel
Das folgende Codebeispiel zeigt eine Konfiguration, die von der Uri-Klasse verwendet wird und alle Schemaeinstellungen für das http-Schema entfernt.
<configuration>
<uri>
<schemeSettings>
<remove name="http"/>
</schemeSettings>
</uri>
</configuration>
Siehe auch
Referenz
System.Configuration.SchemeSettingElement
System.Configuration.SchemeSettingElementCollection
System.Configuration.UriSection