Sdílet prostřednictvím


<schemeSettings> – element (nastavení Uri)

Určuje, jak Uri se bude parsovat pro konkrétní schémata.

< >
   <identifikátor uri>
     <schemeSettings>

Syntaxe

<schemeSettings>
</schemeSettings>  

Atributy a prvky

Následující části popisují atributy, podřízené prvky a nadřazené prvky.

Atributy

Žádné

Podřízené prvky

Element popis
přidat Přidá nastavení schématu pro název schématu.
vymazat Vymaže všechna existující nastavení schématu.
odebrat Odebere nastavení schématu pro název schématu.

Nadřazené elementy

Element popis
identifikátoru URI Obsahuje nastavení, která určují, jak rozhraní .NET Framework zpracovává webové adresy vyjádřené pomocí jednotných identifikátorů prostředků (URI).

Poznámky

Ve výchozím nastavení System.Uri třída un-escapes percent kódované cesty oddělovače cesty před spuštěním komprese cesty. Tento postup byl implementován jako bezpečnostní mechanismus proti útokům, jako je následující:

http://www.contoso.com/..%2F..%2F/Windows/System32/cmd.exe?/c+dir+c:\

Pokud se tento identifikátor URI předá modulům, které nezpracovávají správně zakódované znaky v procentech, může to vést k provedení následujícího příkazu serverem:

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

Z tohoto důvodu System.Uri třída nejprve un-escapes path oddělovače a pak použije kompresi cesty. Výsledkem předání výše System.Uri uvedené škodlivé adresy URL konstruktoru třídy je následující identifikátor URI:

http://www.contoso.com/Windows/System32/cmd.exe?/c+dir+c:\

Toto výchozí chování lze upravit tak, aby nebylo uchycováno oddělovače cest v procentech pomocí možnosti konfigurace schemeSettings pro konkrétní schéma.

Konfigurační soubory

Tento prvek lze použít v konfiguračním souboru aplikace nebo v konfiguračním souboru počítače (Machine.config).

Příklad

Následující příklad ukazuje konfiguraci používanou Uri třídou, která nepodporuje escaping percent-encoded path oddělovače pro schéma http.

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

Informace o elementu

Obor názvů: Systém

Viz také