<Element clear> pro schemeSettings (nastavení URI)
Vymaže všechna existující nastavení schématu.
<Konfigurace>
<Uri>
<schemeSettings>
<Jasné>
Syntax
<clear/>
Atributy a elementy
Následující části popisují atributy, podřízené prvky a nadřazené prvky.
Atributy
Žádné
Podřízené elementy
Žádné
Nadřazené elementy
Element | Popis |
---|---|
<schemeSettings> – element (nastavení Uri) | Určuje, jak Uri se bude analyzovat konkrétní schémata. |
Poznámky
Ve výchozím nastavení System.Uri třída před spuštěním komprese cesty odděluje oddělovače cesty s kódováním znaků. To bylo implementováno 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é nezvládají správně zakódované procentuální znaky, může server spustit následující příkaz:
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 uvedené System.Uri škodlivé adresy URL konstruktoru třídy je následující identifikátor URI:
http://www.microsoft.com/Windows/System32/cmd.exe?/c+dir+c:\
Toto výchozí chování lze upravit tak, aby oddělovače cesty nezakódované pomocí schématuNastavení možnosti konfigurace pro konkrétní schéma neodblokovaly.
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žitou Uri třídou , která vymaže všechna nastavení schématu a poté přidá podporu pro neuniknutí oddělovačů cest s kódováním procent pro schéma http.
<configuration>
<uri>
<schemeSettings>
<clear/>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
</schemeSettings>
</uri>
</configuration>