为了账号安全,请及时绑定邮箱和手机立即绑定

对富文本编辑器提交的结果过滤

对富文本编辑器提交的结果过滤

慕码人8056858 2019-03-12 17:15:15
一般的富文本编辑器比如百度的ueditor,编辑后直接返回一段html代码,为了防止xss,想问问大家如何过滤后入库是比较好的解决方案?(前台读取后直接显示html,比如这个问题本身就是用富文本编辑器提交的)目前知道可以用:富文本编辑器设置纯文本粘贴(这个可能会造成用户使用不方便,但sf的编辑器好像就是这么做的,超链接倒是保留了)一些类库比如 Kses PHP HTML 过滤类设置要保留的标签和标签属性大家有什么好的高效的做法吗?
查看完整描述

5 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

纯文本展贴是用来减少无效html代码数量的,在防范XSS方面没有任何作用。客户端的任何JS代码在攻击者面前都是裸的

如果只需要常见的富文本编辑,不需要直接改动html代码,那么可以考虑UBB code
如果必须直接支持html,可以找wordpress/drupal等开源项目的xss过滤器来用


查看完整回答
反对 回复 2019-04-13
?
阿晨1998

TA贡献2037条经验 获得超6个赞

如果目的是防XSS,在前端防是防不住的,一定需要在服务端过滤。
例如曾经人人网的日志编辑框使用的是tinymce,前端带了过滤功能(转义大法),于是他们竟然在服务端就没过滤!前端只要把JS禁了,让tinymce加载失败,露出裸的textarea来,就可以随便注入JS代码了。

所以防这个,不管前端防了多严,服务端一定都要再做一次。


查看完整回答
反对 回复 2019-04-13
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

狠一点,就把 "<" 和 ">" 转义掉。
稍微宽松一点,就把script、iframe等标签去掉。

查看完整回答
反对 回复 2019-04-13
?
撒科打诨

TA贡献1934条经验 获得超2个赞

这个问题的解决办法很简单
有多重方式一种是base64编码解码是一种

基本上就是转义,保持了原样输出,
过滤这块需要这样操作,增加一个方法preg_match url的 凡是不是本站的都替换掉


查看完整回答
反对 回复 2019-04-13
  • 5 回答
  • 0 关注
  • 1027 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信