aboutsummaryrefslogtreecommitdiff
path: root/jsp/src/main/resources/META-INF/java-encoder-advanced.tld
diff options
context:
space:
mode:
Diffstat (limited to 'jsp/src/main/resources/META-INF/java-encoder-advanced.tld')
-rw-r--r--jsp/src/main/resources/META-INF/java-encoder-advanced.tld560
1 files changed, 560 insertions, 0 deletions
diff --git a/jsp/src/main/resources/META-INF/java-encoder-advanced.tld b/jsp/src/main/resources/META-INF/java-encoder-advanced.tld
new file mode 100644
index 0000000..becab48
--- /dev/null
+++ b/jsp/src/main/resources/META-INF/java-encoder-advanced.tld
@@ -0,0 +1,560 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<taglib version="2.1" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <display-name>OWASP Java Encoder Project</display-name>
+ <tlib-version>1.0</tlib-version>
+ <short-name>java-encoder</short-name>
+ <uri>https://www.owasp.org/index.php/OWASP_Java_Encoder_Project#advanced</uri>
+ <tag>
+ <description>
+ Encodes data for an XML CDATA section. On the chance that the input
+ contains a terminating
+ &quot;]]&amp;gt;&quot;, it will be replaced by
+ &amp;quot;]]&amp;gt;]]&amp;lt;![CDATA[&amp;gt;&amp;quot;.
+ As with all XML contexts, characters that are invalid according to the
+ XML specification will be replaced by a space character. Caller must
+ provide the CDATA section boundaries.
+ </description>
+ <display-name>forCDATA</display-name>
+ <name>forCDATA</name>
+ <tag-class>org.owasp.encoder.tag.ForCDATATag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>The value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ This method encodes for HTML text content. It does not escape
+ quotation characters and is thus unsafe for use with
+ HTML attributes. Use either forHtml or forHtmlAttribute for those
+ methods.
+ </description>
+ <display-name>forHtmlContent</display-name>
+ <name>forHtmlContent</name>
+ <tag-class>org.owasp.encoder.tag.ForHtmlContentTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>Encodes for XML and XHTML attribute content.</description>
+ <display-name>forXmlAttribute</display-name>
+ <name>forXmlAttribute</name>
+ <tag-class>org.owasp.encoder.tag.ForXmlAttributeTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>Encodes for XML and XHTML.</description>
+ <display-name>forXml</display-name>
+ <name>forXml</name>
+ <tag-class>org.owasp.encoder.tag.ForXmlTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Encodes for a JavaScript string. It is safe for use in HTML
+ script attributes (such as onclick), script
+ blocks, JSON files, and JavaScript source. The caller MUST
+ provide the surrounding quotation characters for the string.
+ Since this performs additional encoding so it can work in all
+ of the JavaScript contexts listed, it may be slightly less
+ efficient then using one of the methods targetted to a specific
+ JavaScript context: forJavaScriptAttribute,
+ forJavaScriptBlock, or forJavaScriptSource.
+
+ Unless you are interested in saving a few bytes of output or
+ are writing a framework on top of this library, it is recommend
+ that you use this method over the others.
+ </description>
+ <display-name>forJavaScript</display-name>
+ <name>forJavaScript</name>
+ <tag-class>org.owasp.encoder.tag.ForJavaScriptTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ This method encodes for JavaScript strings contained within
+ HTML script attributes (such as onclick). It is
+ NOT safe for use in script blocks. The caller MUST provide the
+ surrounding quotation characters. This method performs the
+ same encode as Encode.forJavaScript(String) with the
+ exception that / is not escaped.
+ </description>
+ <display-name>forJavaScriptAttribute</display-name>
+ <name>forJavaScriptAttribute</name>
+ <tag-class>org.owasp.encoder.tag.ForJavaScriptAttributeTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ This method encodes for JavaScript strings contained within
+ HTML script blocks. It is NOT safe for use in script
+ attributes (such as onclick). The caller must
+ provide the surrounding quotation characters. This method
+ performs the same encode as Encode.forJavaScript(String)} with
+ the exception that " and ' are encoded as \" and \' respectively.
+ </description>
+ <display-name>forJavaScriptBlock</display-name>
+ <name>forJavaScriptBlock</name>
+ <tag-class>org.owasp.encoder.tag.ForJavaScriptBlockTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ This method encodes for JavaScript strings contained within
+ a JavaScript or JSON file. This method is NOT safe for
+ use in ANY context embedded in HTML. The caller must
+ provide the surrounding quotation characters. This method
+ performs the same encode as Encode.forJavaScript(String) with
+ the exception that / and &amp; are not escaped and " and ' are
+ encoded as \" and \' respectively.
+ </description>
+ <display-name>forJavaScriptSource</display-name>
+ <name>forJavaScriptSource</name>
+ <tag-class>org.owasp.encoder.tag.ForJavaScriptSourceTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Encodes for unquoted HTML attribute values. forHtml(String) or
+ forHtmlAttribute(String) should usually be preferred over this
+ method as quoted attributes are XHTML compliant.
+ </description>
+ <display-name>forHtmlUnquotedAttribute</display-name>
+ <name>forHtmlUnquotedAttribute</name>
+ <tag-class>org.owasp.encoder.tag.ForHtmlUnquotedAttributeTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Performs percent-encoding of a URL according to RFC 3986. The provided
+ URL is assumed to a valid URL. This method does not do any checking on
+ the quality or safety of the URL itself. In many applications it may
+ be better to use java.net.URI instead. Note: this is a
+ particularly dangerous context to put untrusted content in, as for
+ example a "javascript:" URL provided by a malicious user would be
+ "properly" escaped, and still execute.
+ </description>
+ <display-name>forUri</display-name>
+ <name>forUri</name>
+ <tag-class>org.owasp.encoder.tag.ForUriTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Encodes for CSS URL contexts. The context must be surrounded by "url()". It
+ is safe for use in both style blocks and attributes in HTML. Note: this does
+ not do any checking on the quality or safety of the URL itself. The caller
+ should insure that the URL is safe for embedding (e.g. input validation) by
+ other means.
+ </description>
+ <display-name>forCssUrl</display-name>
+ <name>forCssUrl</name>
+ <tag-class>org.owasp.encoder.tag.ForCssUrlTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Encoder for XML comments. NOT FOR USE WITH (X)HTML CONTEXTS.
+ (X)HTML comments may be interpreted by browsers as something
+ other than a comment, typically in vendor specific extensions
+ (e.g. &amp;lt;--if[IE]--&amp;gt;.
+ For (X)HTML it is recommend that unsafe content never be included
+ in a comment.
+ </description>
+ <display-name>forXmlComment</display-name>
+ <name>forXmlComment</name>
+ <tag-class>org.owasp.encoder.tag.ForXmlCommentTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>Encodes for HTML text attributes.</description>
+ <display-name>forHtmlAttribute</display-name>
+ <name>forHtmlAttribute</name>
+ <tag-class>org.owasp.encoder.tag.ForHtmlAttributeTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Encodes for (X)HTML text content and text attributes.
+ </description>
+ <display-name>forHtml</display-name>
+ <name>forHtml</name>
+ <tag-class>org.owasp.encoder.tag.ForHtmlTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Encodes for HTML text content. It does not escape
+ quotation characters and is thus unsafe for use with
+ HTML attributes. Use either forHtml or forHtmlAttribute for those
+ methods.
+ </description>
+ <display-name>forXmlContent</display-name>
+ <name>forXmlContent</name>
+ <tag-class>org.owasp.encoder.tag.ForXmlContentTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Performs percent-encoding for a component of a URI, such as a query
+ parameter name or value, path or query-string. In particular this
+ method insures that special characters in the component do not get
+ interpreted as part of another component.
+ </description>
+ <display-name>forUriComponent</display-name>
+ <name>forUriComponent</name>
+ <tag-class>org.owasp.encoder.tag.ForUriComponentTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <tag>
+ <description>
+ Encodes for CSS strings. The context must be surrounded by quotation characters.
+ It is safe for use in both style blocks and attributes in HTML.
+ </description>
+ <display-name>forCssString</display-name>
+ <name>forCssString</name>
+ <tag-class>org.owasp.encoder.tag.ForCssStringTag</tag-class>
+ <body-content>empty</body-content>
+ <attribute>
+ <description>value to be written out</description>
+ <name>value</name>
+ <required>true</required>
+ <rtexprvalue>true</rtexprvalue>
+ <type>java.lang.String</type>
+ </attribute>
+ </tag>
+ <function>
+ <description>
+ Encodes for (X)HTML text content and text attributes.
+ </description>
+ <display-name>forHtml</display-name>
+ <name>forHtml</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forHtml(java.lang.String)</function-signature>
+ <example>forHtml(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ This method encodes for HTML text content. It does not escape
+ quotation characters and is thus unsafe for use with
+ HTML attributes. Use either forHtml or forHtmlAttribute for those
+ methods.
+ </description>
+ <display-name>forHtmlContent</display-name>
+ <name>forHtmlContent</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forHtmlContent(java.lang.String)</function-signature>
+ <example>forHtmlContent(unsafeData)</example>
+ </function>
+ <function>
+ <description>Encodes for HTML text attributes.</description>
+ <name>forHtmlAttribute</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forHtmlAttribute(java.lang.String)</function-signature>
+ <example>forHtmlAttribute(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ Encodes for unquoted HTML attribute values. forHtml(String) or
+ forHtmlAttribute(String) should usually be preferred over this
+ method as quoted attributes are XHTML compliant.
+ </description>
+ <display-name>forHtmlUnquotedAttribute</display-name>
+ <name>forHtmlUnquotedAttribute</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forHtmlUnquotedAttribute(java.lang.String)</function-signature>
+ <example>forHtmlUnquotedAttribute(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ Encodes for CSS strings. The context must be surrounded by quotation characters.
+ It is safe for use in both style blocks and attributes in HTML.
+ </description>
+ <display-name>forCssString</display-name>
+ <name>forCssString</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forCssString(java.lang.String)</function-signature>
+ <example>forCssString(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ Encodes for CSS URL contexts. The context must be surrounded by "url()". It
+ is safe for use in both style blocks and attributes in HTML. Note: this does
+ not do any checking on the quality or safety of the URL itself. The caller
+ should insure that the URL is safe for embedding (e.g. input validation) by
+ other means.
+ </description>
+ <display-name>forCssUrl</display-name>
+ <name>forCssUrl</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forCssUrl(java.lang.String)</function-signature>
+ <example>forCssUrl(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ Performs percent-encoding of a URL according to RFC 3986. The provided
+ URL is assumed to a valid URL. This method does not do any checking on
+ the quality or safety of the URL itself. In many applications it may
+ be better to use java.net.URI instead. Note: this is a
+ particularly dangerous context to put untrusted content in, as for
+ example a "javascript:" URL provided by a malicious user would be
+ "properly" escaped, and still execute.
+ </description>
+ <display-name>forUri</display-name>
+ <name>forUri</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forUri(java.lang.String)</function-signature>
+ <example>forUri(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ Performs percent-encoding for a component of a URI, such as a query
+ parameter name or value, path or query-string. In particular this
+ method insures that special characters in the component do not get
+ interpreted as part of another component.
+ </description>
+ <display-name>forUriComponent</display-name>
+ <name>forUriComponent</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forUriComponent(java.lang.String)</function-signature>
+ <example>forUriComponent(unsafeData)</example>
+ </function>
+ <function>
+ <description>Encodes for XML and XHTML.</description>
+ <display-name>forXml</display-name>
+ <name>forXml</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forXml(java.lang.String)</function-signature>
+ <example>forXml(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ Encodes for HTML text content. It does not escape
+ quotation characters and is thus unsafe for use with
+ HTML attributes. Use either forHtml or forHtmlAttribute for those
+ methods.
+ </description>
+ <display-name>forXmlContent</display-name>
+ <name>forXmlContent</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forXmlContent(java.lang.String)</function-signature>
+ <example>forXmlContent(unsafeData)</example>
+ </function>
+ <function>
+ <description>Encodes for XML and XHTML attribute content.</description>
+ <display-name>forXmlAttribute</display-name>
+ <name>forXmlAttribute</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forXmlAttribute(java.lang.String)</function-signature>
+ <example>forXmlAttribute(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ Encoder for XML comments. NOT FOR USE WITH (X)HTML CONTEXTS.
+ (X)HTML comments may be interpreted by browsers as something
+ other than a comment, typically in vendor specific extensions
+ (e.g. &amp;lt;--if[IE]--&amp;gt;.
+ For (X)HTML it is recommend that unsafe content never be included
+ in a comment.
+ </description>
+ <name>forXmlComment</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forXmlComment(java.lang.String)</function-signature>
+ <example>forXmlComment(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ Encodes data for an XML CDATA section. On the chance that the input
+ contains a terminating
+ &quot;]]&amp;gt;&quot;, it will be replaced by
+ &amp;quot;]]&amp;gt;]]&amp;lt;![CDATA[&amp;gt;&amp;quot;.
+ As with all XML contexts, characters that are invalid according to the
+ XML specification will be replaced by a space character. Caller must
+ provide the CDATA section boundaries.
+ </description>
+ <display-name>forCDATA</display-name>
+ <name>forCDATA</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forCDATA(java.lang.String)</function-signature>
+ <example>forCDATA(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ Encodes for a JavaScript string. It is safe for use in HTML
+ script attributes (such as onclick), script
+ blocks, JSON files, and JavaScript source. The caller MUST
+ provide the surrounding quotation characters for the string.
+ Since this performs additional encoding so it can work in all
+ of the JavaScript contexts listed, it may be slightly less
+ efficient then using one of the methods targetted to a specific
+ JavaScript context: forJavaScriptAttribute,
+ forJavaScriptBlock, or forJavaScriptSource.
+
+ Unless you are interested in saving a few bytes of output or
+ are writing a framework on top of this library, it is recommend
+ that you use this method over the others.
+ </description>
+ <display-name>forJavaScript</display-name>
+ <name>forJavaScript</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forJavaScript(java.lang.String)</function-signature>
+ <example>forJavaScript(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ This method encodes for JavaScript strings contained within
+ HTML script attributes (such as onclick). It is
+ NOT safe for use in script blocks. The caller MUST provide the
+ surrounding quotation characters. This method performs the
+ same encode as Encode.forJavaScript(String) with the
+ exception that / is not escaped.
+ </description>
+ <display-name>forJavaScriptAttribute</display-name>
+ <name>forJavaScriptAttribute</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forJavaScriptAttribute(java.lang.String)</function-signature>
+ <example>forJavaScriptAttribute(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ This method encodes for JavaScript strings contained within
+ HTML script blocks. It is NOT safe for use in script
+ attributes (such as onclick). The caller must
+ provide the surrounding quotation characters. This method
+ performs the same encode as Encode.forJavaScript(String)} with
+ the exception that " and ' are encoded as \" and \' respectively.
+ </description>
+ <display-name>forJavaScriptBlock</display-name>
+ <name>forJavaScriptBlock</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forJavaScriptBlock(java.lang.String)</function-signature>
+ <example>forJavaScriptBlock(unsafeData)</example>
+ </function>
+ <function>
+ <description>
+ This method encodes for JavaScript strings contained within
+ a JavaScript or JSON file. This method is NOT safe for
+ use in ANY context embedded in HTML. The caller must
+ provide the surrounding quotation characters. This method
+ performs the same encode as Encode.forJavaScript(String) with
+ the exception that / and &amp; are not escaped and " and ' are
+ encoded as \" and \' respectively.
+ </description>
+ <display-name>forJavaScriptSource</display-name>
+ <name>forJavaScriptSource</name>
+ <function-class>org.owasp.encoder.Encode</function-class>
+ <function-signature>java.lang.String forJavaScriptSource(java.lang.String)</function-signature>
+ <example>
+ &lt;%@page contentType="text/javascript; charset=UTF-8"%>
+ var data = '${forJavaScriptSource(unsafeData)}';
+ </example>
+ </function>
+</taglib> \ No newline at end of file