在我的应用程序中,用户将能够放置自己的内容。当然,我想保护我的应用程序免受XSS攻击。但是使用.encodeAsHTML()
可以逃脱一切。我想让用户为他们的文本设置样式,所以我希望一些标签不转义,例如<b>, <i>, <u>
。知道我该怎么做吗?也许有人已经做了类似的事情?我也考虑过BBCode样式格式-有人在grails上做过吗?
最佳答案
看一看jsoup,它使您可以将标签和属性列入白名单,但是可以清除HTML。
这是一个例子:
String escapeNonFormattingHTML(String unescaped) {
def whitelist = Whitelist().simpleText() //allows b, i, u, em, strong
return new Jsoup().clean(unescaped, whitelist)
}
关于html - 在转义中仅转义特定标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5953842/