Condividi tramite


<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

Vedi anche