Partage via


<remove>, élément pour schemeSettings (Paramètres d’URI)

Supprime un paramètre de schéma pour un nom de schéma.

<configuration>
  <uri>
    <schemeSettings>
      <remove>

Syntaxe

<remove
  name="http|https"
/>

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description
name Nom du schéma pour lequel ce paramètre s’applique. Les seules valeurs prises en charge sont name="http » et name="https".

Éléments enfants

Aucune.

Éléments parents

Élément Description
<schemeSettings> Élément (Paramètres d’uri) Spécifie la façon dont un Uri est analysé pour les schémas spécifiques.

Notes

Par défaut, la classe System.Uri annule l’échappement des délimiteurs de chemin encodés en pourcentage avant d’exécuter la compression de chemin. Elle a été implémentée en guise de mécanisme de sécurité destiné à lutter contre les attaques comme suit :

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

Si cet URI est transmis à des modules qui ne gèrent pas correctement les caractères encodés en pourcentage, la commande suivante risque d’être exécutée par le serveur :

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

Pour cette raison, la classe System.Uri commence par annuler l’échappement des délimiteurs de chemin, puis applique la compression de chemin. Le résultat de la transmission de l’URL malveillante ci-dessus au constructeur de classe System.Uri donne l’URI suivant :

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

Ce comportement par défaut peut être modifié de façon à ne pas annuler l’échappement des délimiteurs de chemin encodés en pourcentage en utilisant l’option de configuration schemeSettings pour un schéma spécifique.

Fichiers de configuration

Cet élément peut être défini dans le fichier de configuration de l'application ou dans le fichier de configuration de l'ordinateur (Machine.config).

Exemple

L’exemple suivant montre une configuration utilisée par la classe Uri, qui supprime tous les paramètres de schéma pour le schéma http.

<configuration>  
  <uri>  
    <schemeSettings>  
      <remove name="http"/>  
    </schemeSettings>  
  </uri>  
</configuration>  

Voir aussi