• 技术文章 >后端开发 >php教程

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

    2016-06-06 20:45:20原创963
    一般的富文本编辑器比如百度的ueditor,编辑后直接返回一段html代码,为了防止xss,想问问大家如何过滤后入库是比较好的解决方案?(前台读取后直接显示html,比如这个问题本身就是用富文本编辑器提交的)

    目前知道可以用:

    大家有什么好的高效的做法吗?

    回复内容:

    一般的富文本编辑器比如百度的ueditor,编辑后直接返回一段html代码,为了防止xss,想问问大家如何过滤后入库是比较好的解决方案?(前台读取后直接显示html,比如这个问题本身就是用富文本编辑器提交的)

    目前知道可以用:

    大家有什么好的高效的做法吗?

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

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

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

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

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

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

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

    看了看百度的ueditor,只能说很多东西设计得不够自由和弹性。用关键字【过滤规则】也找不到在哪设置,所以还是建议不要用ueditor因为还不够成熟!

    那建议你可以:

    基于wysihtml5制作富文本编辑器可以参考这里bootstrap-wysihtml5。

    以上两个富文本编辑器都有过滤机制,你可以阅读文档了解一下便知道。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php javascript
    上一篇:内网服务器如何调用第三方的API? 下一篇:phantomjs 新手一問
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• php7.2怎么连接oracle数据库?OCI8扩展的安装• PHP中的一个DB类中的成员方法为啥 可以 当作静态方法使用!求指点• Smarty模板中嵌入PHP代码老是报错 • 新手有几个问题大家 • 急php连接mysql有关问题
    1/1

    PHP中文网