仅转义 grails 中的特定标签

发布于 2024-11-06 06:10:26 字数 241 浏览 1 评论 0原文

在我的应用程序中,用户将能够放置自己的内容。当然,我想保护我的应用程序免受 XSS 攻击。但是使用 .encodeAsHTML() 可以转义一切。我想让用户设置文本样式,因此我希望某些标签不转义,例如 。知道我该怎么做吗?或者也许有人已经做了类似的事情?我还考虑过 BBCode 风格的格式化——有人在 grails 上做过吗?

In my application users will be able to put their own content. Of course I want to secure my application for XSS attacks. But using .encodeAsHTML() escapes everything. I'd like to let the users style their text, so I'd like some tags to be unescaped, like <b>, <i>, <u>. Any idea how I can do that? Or maybe someone already did something similar? I thought also about BBCode style formatting - anyone did it on grails?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

↙厌世 2024-11-13 06:10:26

看看 jsoup,它可以让您将标签和属性列入白名单,但以其他方式擦除您的 HTML。

这是一个例子:

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

Take a look at jsoup, which lets you whitelist tags and attributes, but otherwise scrub your HTML.

Here's an example:

String escapeNonFormattingHTML(String unescaped) {
    def whitelist = Whitelist().simpleText() //allows b, i, u, em, strong
    return new Jsoup().clean(unescaped, whitelist)
} 
孤星 2024-11-13 06:10:26

Html Cleaner 插件可以帮助您根据白名单清理 html。但其他标签不会被转义,而是被完全删除。它基于jsoup。

Html cleaner plugin can help you clean html based on whitelists. But other tags won't be escaped but removed completely. Its based on jsoup.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文