GWT - XSS预防和渲染安全/简单的html

时间:2016-05-28 13:52:13

标签: java html gwt xss

我想知道在GWT应用程序中阻止XSS的最佳方法是什么,同时仍然为用户提供编辑和查看自定义html的方法(例如,富文本编辑器)。

具体来说,如果用户试图将邪恶的隐藏代码存储在一个公共实体中,而该公共实​​体意图被其他用户视为html,我想确保不执行恶意html。

示例:

<img src=a onerror="alert('evil');">
<br>
<b>test1</b>
<font>test2</font>

在此代码中,我想允许<br><b><font>标记甚至<img>,但我想删除javascript。我尝试过测试SafeHtml实用程序类但是:SafeHtmlBuilder和SafeHtmlUtils正在转义所有标记(因此这对于具有名字,姓氏的表单,但在从富文本编辑器渲染文本时效果不佳?)和SimpleHtmlSanitizer只有极少数允许的标签。

我的问题是,有没有办法在GWT中实现这一目标(保护&#34;好的&#34;用户从&#34;坏&#34;在渲染HTML时)或者它是必须的文本处理应该在服务器端完成吗?

1 个答案:

答案 0 :(得分:1)

这是HtmlSanitizer的用途。 SimpleHtmlSanitizer对于您的用例可能有点过于简单,但可以作为构建您自己的用例的良好基础。