Udostępnij za pośrednictwem


<schemeSettings> , element (ustawienia identyfikatora URI)

Określa sposób analizowania Uri elementu dla określonych schematów.

< > konfiguracji
   <Uri>
     <schemeSettings>

Składnia

<schemeSettings>
</schemeSettings>  

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.

Atrybuty

Żaden

Elementy podrzędne

Element Opis
dodaj Dodaje ustawienie schematu dla nazwy schematu.
jasny Czyści wszystkie istniejące ustawienia schematu.
usuń Usuwa ustawienie schematu dla nazwy schematu.

Elementy nadrzędne

Element Opis
Uri Zawiera ustawienia określające sposób obsługi adresów internetowych przez program .NET Framework przy użyciu identyfikatorów URI ( uniform resource identifiers).

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 zakodowanych w procentach znaków, może to spowodować wykonanie następującego polecenia przez serwer:

c:\Windows\System32\cmd.exe /c dir c:\

Z tego powodu System.Uri ograniczniki ścieżek pierwszej klasy un-escapes, 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.contoso.com/Windows/System32/cmd.exe?/c+dir+c:\

To domyślne zachowanie można zmodyfikować, aby nie usuwać ograniczników ścieżki zakodowanej procentowo 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 przedstawiono konfigurację używaną przez Uri klasę do obsługi ograniczników ścieżki zakodowanych procentowo dla schematu http.

<configuration>  
  <uri>  
    <schemeSettings>  
      <add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>  
    </schemeSettings>  
  </uri>  
</configuration>  

Informacje o elementach

Przestrzeń nazw: System

Zobacz też