Udostępnij za pośrednictwem


<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>  

Zobacz też