Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Entfernt eine Schemaeinstellung für einen Schemanamen.
<configuration>
<uri>
<schemeSettings>
<remove>
Syntax
<remove
name="http|https"
/>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
| Merkmal | Description |
|---|---|
| name | Der Schemaname, für den diese Einstellung gilt. Die einzigen unterstützten Werte sind name="http" und name="https". |
Untergeordnete Elemente
Keiner.
Übergeordnete Elemente
| Element | Description |
|---|---|
| <schemeSettings-Element> (URI-Einstellungen) | Gibt an, wie ein Uri Schema analysiert wird. |
Bemerkungen
Standardmäßig hebt die Klasse vor dem System.Uri Ausführen der Pfadkomprimierung die Prozent-codierten Pfadtrennzeichen auf. Dies wurde als Sicherheitsmechanismus für Angriffe wie die folgenden implementiert:
http://www.contoso.com/..%2F..%2F/Windows/System32/cmd.exe?/c+dir+c:\
Wenn dieser URI an Module übergeben wird, die keine prozentcodierten Zeichen richtig verarbeiten, kann der folgende Befehl vom Server ausgeführt werden:
c:\Windows\System32\cmd.exe /c dir c:\
Aus diesem Grund System.Uri hebt die Klasse zuerst Pfadtrennzeichen auf und wendet dann die Pfadkomprimierung an. Das Ergebnis, dass die oben genannte bösartige URL an System.Uri den Klassenkonstruktor übergeben wird, führt zu folgendem URI:
http://www.microsoft.com/Windows/System32/cmd.exe?/c+dir+c:\
Dieses Standardverhalten kann mithilfe der SchemaSettings-Konfigurationsoption für ein bestimmtes Schema geändert werden, um keine Escape-Prozent-codierten Pfadtrennzeichen aufzuheben.
Konfigurationsdateien
Dieses Element kann in der Anwendungskonfigurationsdatei oder in der Computerkonfigurationsdatei (Machine.config) verwendet werden.
Example
Das folgende Beispiel zeigt eine Konfiguration, die von der Uri Klasse verwendet wird, die alle Schemaeinstellungen für das HTTP-Schema entfernt.
<configuration>
<uri>
<schemeSettings>
<remove name="http"/>
</schemeSettings>
</uri>
</configuration>