2011-05-10 58 views
0

在我的應用程序中,用戶將能夠放置自己的內容。當然,我想確保我的XSS攻擊應用程序。但使用.encodeAsHTML()逃避一切。我想讓用戶使用他們的文字,所以我想讓一些標籤不被轉義,如<b>, <i>, <u>。任何想法我可以做到這一點?或者也許有人已經做了類似的事情?我還想過關於BBCode格式的格式 - 任何人都在Grails上做過?在grails中只轉義特定標籤

回答

1

看看jsoup,它允許您將白名單標籤和屬性列入白名單,但否則會清理您的HTML。

下面是一個例子:

String escapeNonFormattingHTML(String unescaped) { 
    def whitelist = Whitelist().simpleText() //allows b, i, u, em, strong 
    return new Jsoup().clean(unescaped, whitelist) 
} 
0

Html cleaner插件可以幫助您基於白名單幹淨的HTML。但其他標籤不會被轉義,而是完全被刪除。它基於jsoup。