您将如何将 SafeHtml 与链接结合使用?
场景:我们的用户可以输入可能包含链接的无格式文本,例如I like&love http://www.stackoverflow.com
. 我们希望在 GWT 中安全地呈现此文本,但使链接可点击,例如I like&love <a="http://www.stackoverflow.com">stackoverflow.com</a>
. 除了在 GWT 前端渲染文本外,我们还希望通过电子邮件发送它,链接也应该是可点击的。
到目前为止,我们考虑了以下选项:
- 将完整的文本作为 HTML 存储在后端,让前端假定它已正确编码 (
I like&love <a="http://www.stackoverflow.com">stackoverflow.com</a>
) -> 引入 XSS 漏洞 - 在后端存储纯文本但链接为 HTML ( ) 并在前端
I like&love <a="http://www.stackoverflow.com">stackoverflow.com</a>
使用HtmlSanitizer - 在后端为链接 ( ) 存储纯文本和特殊编码,
I like&love [stackoverflow.com|http://www.stackoverflow.com]
并在前端使用自定义 SafeHtml 生成器
对我们来说,第三个选项看起来最干净,但它似乎需要最自定义的代码,因为我们无法利用 GWT 的 SafeHtml 基础架构。
有人可以分享如何最好地解决问题吗?到目前为止我们还没有考虑过其他选择吗?