前端部分引用代码
<form method="post" action="" enctype="multipart/form-data" id="theForm"
onsubmit="return validateSubmitForm(this)">
<tr>
<th>
内容:
</th>
<td colspan="3">
<textarea class="editor" id="editor" name="contents" height='260' width='700'> </textarea>
</td>
</tr>
</form>
js部分关键引入xss.js。xss.js官网根据白名单过滤HTML(防止XSS攻击)
<script src="../../../../resource/js/xss.js"></script>
<script type="text/javascript">
function tosubm(){
//引入xss后,使用filterXSS方法
form.contents.value = filterXSS(form.contents.value);
$("#theForm").submit();
}
</script>
注意:官网的xss默认屏蔽了很多css标签,如果直接使用会导致编辑器各种文本编辑效果失效,需要手动编辑xss的白名单内容。本人将方法getDefaultWhiteList() 涉及到的字段都加入了“style”属性,以及涉及到的属性都改为了true.这才将大部份排版效果恢复。还有很多属性没有涉及到,我觉得某些效果或许还是有问题。
本人修改过的xss
百度编辑器解决xss漏洞-系统安全文档类资源-CSDN下载
更多推荐
解决jsp页面引入百度编辑器,出现xss漏洞
发布评论