Tag: out
The
wcf:out
tag is used to display
the output to the user. This tag provides an option to use an encoding
library to encode the output value, protecting against possible cross-site
scripting attacks.The implementation of the wcf:out
tag
checks for the <XSiteScriptingProtection enable="true"/>
attribute
in the wc-server.xml file. If the enable
attribute
is set to true, wcf:out
checks whether an encoding
library can be used for encoding the output value.
The
wcf:out
tag
reads an XSiteEncoding.properties file to decide
on the following properties:- The encoder class to use.
- The encoder instance method to use.
- The encoder methods for each of the escape formats.
Beginning in Fix Pack 6, the XSiteEncoding.properties file is provided in
the WC_eardir/properties directory. By default, the file
uses the following encoding class that handles JavaScript encoding:
com.ibm.commerce.foundation.internal.client.taglib.util.XSiteEncoder. To see
how the encoding class can be changed by using the OWASP ESAPI
library, see the
example in the Example section.
Tag information | |
---|---|
Body Content | empty |
Attributes
Attribute | Required | Request-time | Type | Description |
---|---|---|---|---|
value |
true |
true |
java.lang.String |
That value that displays to the user. |
escape |
false |
true |
java.lang.String |
A flag that indicates whether the value is to be escaped or not. |
escapeFormat |
false |
true |
java.lang.String |
The escape format to use. The default value
is xml . Other possible values are html , js ,
and url . |
Variables
No variables are defined for the wcf:out
tag.
Example
The following example is a snippet of a XSiteEncoding.properties file that uses theOWASP ESAPI
library for
encoding:#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