FreeMarker 自动转义和格式化HTML和XML输出,预防xss
生活随笔
收集整理的這篇文章主要介紹了
FreeMarker 自动转义和格式化HTML和XML输出,预防xss
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
這種自動(dòng)轉(zhuǎn)義需要FreeMarker 版本大于等于2.3.24。如果你不得不使用一個(gè)更早的版本,請(qǐng)使用過時(shí)的escape指令替代。
不過考慮到官網(wǎng)上最近的標(biāo)注2.3.25已經(jīng)是穩(wěn)定版,建議升級(jí)
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為擴(kuò)展名的freemarker模板都會(huì)自動(dòng)關(guān)聯(lián)到HTML和XML輸出格式,預(yù)定義的輸出格式如下:
| 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 |
轉(zhuǎn)載于:https://my.oschina.net/buwei/blog/729857
總結(jié)
以上是生活随笔為你收集整理的FreeMarker 自动转义和格式化HTML和XML输出,预防xss的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redhat Linux通过RPM安装搭
- 下一篇: 第25条:总是为第三方类的分类名称加前缀