FreeMarker 自动转义和格式化HTML和XML输出,预防xss
生活随笔
收集整理的這篇文章主要介紹了
FreeMarker 自动转义和格式化HTML和XML输出,预防xss
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
這種自動轉義需要FreeMarker 版本大于等于2.3.24。如果你不得不使用一個更早的版本,請使用過時的escape指令替代。
不過考慮到官網上最近的標注2.3.25已經是穩(wěn)定版,建議升級
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模板都會自動關聯(lián)到HTML和XML輸出格式,預定義的輸出格式如下:
| HTML | Escapes?<,?>,?&,?",?'?as?<,?>,?&,?",?' | text/html | HTMLOutputFormat.INSTANCE |
| XHTML | Escapes?<,?>,?&,?",?'?as?<,?>,?&,?",?' | application/xhtml+xml | XHTMLOutputFormat.INSTANCE |
| XML | Escapes?<,?>,?&,?",?'?as?<,?>,?&,?",?' | application/xml | XMLOutputFormat.INSTANCE |
| RTF | Escapes?{,?},?\?as?\{,?\},?\\ | application/rtf | RTFOutputFormat.INSTANCE |
| undefined | Doesn'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 |
| plainText | Doesn't escape. | text/plain | PlainTextOutputFormat.INSTANCE |
| JavaScript | Doesn't escape. | application/javascript | JavaScriptOutputFormat.INSTANCE |
| JSON | Doesn't escape. | application/json | JSONOutputFormat.INSTANCE |
| CSS | Doesn't escape. | text/css | CSSOutputFormat.INSTANCE |
轉載于:https://my.oschina.net/buwei/blog/729857
總結
以上是生活随笔為你收集整理的FreeMarker 自动转义和格式化HTML和XML输出,预防xss的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redhat Linux通过RPM安装搭
- 下一篇: 第25条:总是为第三方类的分类名称加前缀