<clear> , element dla schemeSettings (ustawienia identyfikatora URI)
Czyści wszystkie istniejące ustawienia schematu.
<Konfiguracji>
<Identyfikator uri>
<schemeSettings>
<Wyczyść>
Składnia
<clear/>
Atrybuty i elementy
W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.
Atrybuty
Brak.
Elementy podrzędne
Brak.
Elementy nadrzędne
Element | Opis |
---|---|
<schemeSettings> , element (ustawienia identyfikatora URI) | Określa sposób analizowania Uri dla określonych schematów. |
Uwagi
Domyślnie System.Uri ograniczniki ścieżki zakodowanej w procentach klasy un-escapes przed wykonaniem kompresji ścieżki. Zostało to zaimplementowane jako mechanizm zabezpieczeń przed atakami, takimi jak następujące:
http://www.contoso.com/..%2F..%2F/Windows/System32/cmd.exe?/c+dir+c:\
Jeśli ten identyfikator URI zostanie przekazany do modułów, które nie obsługują poprawnie znaków zakodowanych procentowo, może to spowodować wykonanie następującego polecenia przez serwer:
c:\Windows\System32\cmd.exe /c dir c:\
Z tego powodu klasy najpierw usuwa ograniczniki ścieżki, System.Uri a następnie stosuje kompresję ścieżki. Wynikiem przekazania złośliwego adresu URL powyżej do System.Uri konstruktora klasy jest następujący identyfikator URI:
http://www.microsoft.com/Windows/System32/cmd.exe?/c+dir+c:\
To domyślne zachowanie można zmodyfikować, aby nie uniknięć ograniczników ścieżki zakodowanej w procentach ucieczki przy użyciu opcji konfiguracji schemeSettings dla określonego schematu.
Pliki konfiguracji
Tego elementu można użyć w pliku konfiguracji aplikacji lub pliku konfiguracji maszyny (Machine.config).
Przykład
W poniższym przykładzie pokazano konfigurację używaną przez Uri klasę, która czyści wszystkie ustawienia schematu, a następnie dodaje obsługę nieuciekania ograniczników ścieżki zakodowanej procentowo dla schematu http.
<configuration>
<uri>
<schemeSettings>
<clear/>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
</schemeSettings>
</uri>
</configuration>