Balise : out

La balise wcf:out est utilisée pour afficher la sortie à l'utilisateur. Cette balise offre une option pour utiliser une bibliothèque d'encodage pour encoder la valeur de sortie, protégeant contre d'éventuelles attaques de scripts inter-sites.

L'implémentation de la balise wcf:out vérifie l'attribut <XSiteScriptingProtection enable="true"/> dans le fichier wc-server.xml. Si l'attribut enable est défini sur true, wcf:out vérifie si une bibliothèque d'encodage peut être utilisée pour l'encodage de la valeur de sortie.

La balise wcf:out lit un fichier XSiteEncoding.properties pour décider des propriétés suivantes :
  • Classe d'encodeur à utiliser.
  • Méthode d'instance d'encodeur à utiliser.
  • Méthodes d'encodeur pour chacun des formats d'échappement.

À partir du pack de correctif 6, le fichier XSiteEncoding.properties est fourni dans le répertoire WC_eardir/properties. Par défaut, le fichier utilise la classe d'encodage suivante qui gère l'encodage JavaScript : com.ibm.commerce.foundation.internal.client.taglib.util.XSiteEncoder. Pour voir comment la classe d'encodage peut être modifiée à l'aide de la bibliothèque OWASP ESAPI, voir l'exemple dans la section Exemple.

Informations sur la balise

Informations sur la balise
Contenu de l'élément 'Body' vide

Attributs

Attributs

Attribut Requis Date/heure de la requête Type Description
value true true java.lang.String Cette valeur qui s'affiche pour l'utilisateur.
escape false true java.lang.String Indicateur indiquant si la valeur doit être échappée ou non.
escapeFormat false true java.lang.String Format d'échappement à utiliser. La valeur par défaut est xml. Autres valeurs possibles : html, js et url.

Variables

Aucune variable n'est définie pour la balise wcf:out.

Exemple

L'exemple suivant est un extrait d'un fichier XSiteEncoding.properties qui utilise la bibliothèque OWASP ESAPI pour l'encodage :
#Begin XSiteEncoding.properties
#This file sets the encoder properties defined corresponding to OWASP library.

#The encoder class 
EncoderClass=org.owasp.esapi.ESAPI

#The static instance method which returns the instance of the Encoder.
EncoderInstanceMethod=encoder

#The escape formats and their corresponding method in the Encoder instance.
js=encodeForJavaScript
html=encodeForHTML
xml=encodeForXML
url=encodeForURL

#End XSiteEncoding.properties