ESAPIEncode()

Encodes the given string for safe output to stop Cross Site Scripting attacks.

Status:

deprecated

Requires Extension: ESAPI extension

ESAPIEncode( encodeFor=string, string=string, canonicalize=boolean, dialect=string );

Returns: String

Argument Description Default
encodeFor
string, required

encode for what, valid values are:

  • css: for output inside Cascading Style Sheets (CSS)
  • dn: for output in LDAP Distinguished Names
  • html: for output inside HTML
  • html_attr: for output inside HTML Attributes
  • javascript: for output inside JavaScript
  • ldap: for output in LDAP queries
  • url: for output in URL
  • vbscript: for output inside vbscript
  • xml: for output inside XML
  • xml_attr: for output inside XML Attributes
  • xpath: for output in XPath
string
string, required

string to encode

canonicalize
boolean, optional

If set to true, canonicalization happens before encoding.

If set to false, the given input string will just be encoded.

The default value for canonicalize is false.

When this parameter is not specified, canonicalization will not happen.

By default, when canonicalization is performed, both mixed and multiple encodings will be allowed.

To use any other combinations you should canonicalize using canonicalize method and then do encoding.

Introduced: 5.0.0.0

false

dialect
string, optional

Only used when "encodeFor" is set to "sql". This defines the SQL dialect used. Possible values are: * db2 * mysql_ansi * mysql * oracle

Examples

enc=ESAPIEncode("html","<table>");//html
	writeDump(enc);
	enc=ESAPIEncode('url','https://download.lucee.org/?type=releases');//URL
	writeDump(enc);

See also