<Elemento schemeSettings> (impostazioni URI)
Specifica come verrà analizzato un Uri per schemi specifici.
<Configurazione>
<Uri>
<schemeSettings>
Sintassi
<schemeSettings>
</schemeSettings>
Attributi ed elementi
Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.
Attributi
Nessuno
Elementi figlio
elemento | Descrizione |
---|---|
add | Aggiunge un'impostazione dello schema per un nome di schema. |
deselezionare | Cancella tutte le impostazioni dello schema esistenti. |
remove | Rimuove un'impostazione dello schema per un nome di schema. |
Elementi padre
elemento | Descrizione |
---|---|
Uri | Contiene impostazioni che specificano il modo in cui .NET Framework gestisce gli indirizzi Web espressi tramite URI (Uniform Resource Identifier). |
Commenti
Per impostazione predefinita, la System.Uri classe rimuove i delimitatori di percorso codificati in percentuale prima di eseguire la compressione del percorso. Questa operazione è stata implementata come meccanismo di sicurezza contro gli attacchi come i seguenti:
http://www.contoso.com/..%2F..%2F/Windows/System32/cmd.exe?/c+dir+c:\
Se questo URI viene passato ai moduli che non gestiscono correttamente i caratteri con codifica percentuale, il comando seguente potrebbe essere eseguito dal server:
c:\Windows\System32\cmd.exe /c dir c:\
Per questo motivo, System.Uri la classe rimuove innanzitutto i delimitatori di percorso di escape e quindi applica la compressione del percorso. Il risultato del passaggio dell'URL dannoso precedente al System.Uri costruttore di classe restituisce l'URI seguente:
http://www.microsoft.com/Windows/System32/cmd.exe?/c+dir+c:\
Questo comportamento predefinito può essere modificato in modo da non separare i delimitatori di percorso con codifica un escape usando l'opzione di configurazione schemeSettings per uno schema specifico.
File di configurazione
Questo elemento può essere usato nel file di configurazione dell'applicazione o nel file di configurazione del computer (Machine.config).
Esempio
Nell'esempio seguente viene illustrata una configurazione utilizzata dalla Uri classe per supportare il mancato escape dei delimitatori di percorso con codifica percentuale per lo schema HTTP.
<configuration>
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
</schemeSettings>
</uri>
</configuration>
Informazioni sull'elemento
Spazio dei nomi: System