Elemento <remove> per schemeSettings (impostazioni URI)
Aggiunge un'impostazione dello schema per un nome di schema.
<remove
<name = "http|https"/>
/>
Attributi ed elementi
Nelle sezioni seguenti vengono illustrati attributi, elementi figlio e padre.
Attributi
Attribute |
Oggetto di descrizione |
---|---|
name |
Il nome dello schema per il quale si applica questa impostazione. Gli unici valori supportati sono name="http" e name="https". |
Elementi figlio
Nessuno.
Elementi padre
Elemento |
Oggetto di descrizione |
---|---|
Specifica come un oggetto Uri verrà analizzato per schemi specifici. |
Note
Per impostazione predefinita, la classe System.Uri priva dei caratteri escape i delimitatori del percorso con codifica percentuale prima di eseguire la compressione del percorso. È stato implementato come meccanismo di sicurezza rispetto ad attacchi simili ai seguenti:
https://www.contoso.com/.. %2F.. %2F/Windows/System32/cmd.exe?/c+dir+c:\
Se questo URI viene passato lungo i moduli che non gestiscono correttamente i caratteri codificati in percentuale, potrebbe verificarsi che il comando seguente venga eseguito dal server:
c:\Windows\System32\cmd.exe /c dir c:\
Per questo motivo, la classe System.Uri come prima cosa priva dei caratteri escape i delimitatori del percorso, quindi applica compressione del percorso. Il risultato di passare l'URL dannoso al costruttore di classe System.Uri è il seguente URI:
https://www.microsoft.com/Windows/System32/cmd.exe?/c+dir+c:\\
È possibile modificare questo comportamento predefinito per non consentire l'escape dei delimitatori del percorso con codifica percentuale utilizzando l'opzione di configurazione schemeSettings per uno specifico schema.
File di configurazione
L'elemento può essere utilizzato nel file di configurazione dell'applicazione o nel file di configurazione del computer (Machine.config).
Esempio
Nell'esempio di codice seguente viene mostrata una configurazione utilizzata dalla classe Uri che rimuove qualsiasi impostazione dello schema per lo schema del http.
<configuration>
<uri>
<schemeSettings>
<remove name="http"/>
</schemeSettings>
</uri>
</configuration>
Vedere anche
Riferimenti
Schema delle impostazioni di rete
System.Configuration.SchemeSettingElement
System.Configuration.SchemeSettingElementCollection
System.Configuration.UriSection