欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > HTML >内容正文

HTML

FreeMarker 自动转义和格式化HTML和XML输出,预防xss

发布时间:2025/4/16 HTML 65 豆豆
生活随笔 收集整理的这篇文章主要介绍了 FreeMarker 自动转义和格式化HTML和XML输出,预防xss 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

为什么80%的码农都做不了架构师?>>>   

这种自动转义需要FreeMarker 版本大于等于2.3.24。如果你不得不使用一个更早的版本,请使用过时的escape指令替代。

不过考虑到官网上最近的标注2.3.25已经是稳定版,建议升级

Latest stable release: 2.3.25-incubating

Released on 2016-06-26. Requires J2SE 1.5 or higher.

<dependency>

<groupId>org.freemarker</groupId>

<artifactId>freemarker</artifactId>

<version>2.3.25-incubating</version>

</dependency>

所有的以ftlh和ftlx为扩展名的freemarker模板都会自动关联到HTML和XML输出格式,预定义的输出格式如下:

NameDescriptionMIME TypeDefault implementation (freemarker.core.*)
HTMLEscapes <, >, &, ", ' as &lt;, &gt;, &amp;, &quot;, &#39;text/htmlHTMLOutputFormat.INSTANCE
XHTMLEscapes <, >, &, ", ' as &lt;, &gt;, &amp;, &quot;, &#39;application/xhtml+xmlXHTMLOutputFormat.INSTANCE
XMLEscapes <, >, &, ", ' as &lt;, &gt;, &amp;, &quot;, &apos;application/xmlXMLOutputFormat.INSTANCE
RTFEscapes {, }, \ as \{, \}, \\application/rtfRTFOutputFormat.INSTANCE
undefinedDoesn't escape. Prints markup output values (concept explainedlater) from other output formats as is. The default output format used when no output format was explicitly set in the configuration.None (null)UndefinedOutputFormat.INSTANCE
plainTextDoesn't escape.text/plainPlainTextOutputFormat.INSTANCE
JavaScriptDoesn't escape.application/javascriptJavaScriptOutputFormat.INSTANCE
JSONDoesn't escape.application/jsonJSONOutputFormat.INSTANCE
CSSDoesn't escape.text/cssCSSOutputFormat.INSTANCE

转载于:https://my.oschina.net/buwei/blog/729857

总结

以上是生活随笔为你收集整理的FreeMarker 自动转义和格式化HTML和XML输出,预防xss的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。