美文网首页
富文本-过滤

富文本-过滤

作者: xiaohaha | 来源:发表于2017-03-09 06:54 被阅读0次

需求: 富文本框总数被恶意用户输入script标签,使得加载其它页面,欺诈我的上帝(用户), 简单过滤script,又会使用embed、iframe等可以加载第三方页面的有危害标签。

问题: 有什么方法,可以完善过滤掉用户输入的所有富文本内容,只留下没有危害的富文本内容?

方案:

基础知识:

富文本:  就是一个框需要让用户可以输入html一些标签,以达到美化界面的功能。

恶意标签: 插入这些标签,可以改变页面原来的内容,还有可能控制整个页面。进而实现钓鱼、挂马或盗取数据等危害比较大的事情。

解决方案: 就是设定一个标签和属性白名单(因为即使白名单的标签img,里面的属性-onerror等也可能导致执行javascript,也是非常危险). 对用户输入进行检查,只允许白名单中的标签和属性才能通过检查,否则就拒绝用户请求(对于恶意用户不要提供友好的用户体验,以防止防御被绕过,比如过滤危险标签 script,当用户输入sscriptcript时,就会导致被绕过)

由于不同开发程序使用的不一样,分开讨论。

PHP-富文本过滤

百度一下 php富文本过滤,很容易找到一个开源库-HTMLPurifier。

测试过程:

1. 下载开源库 官网地址:

http://htmlpurifier.org/  

  测试时下载的最新版 4.9.1版本

2. 使用:

将下载htmlpurifier库,解压到webroot目录下,并且将文件夹重命名为-htmlpurifier,即

webroot/htmlpurifier/library/HTMLPurifier.includes.php.

新建一个测试页面test.php,内容如下:

居然不能贴代码 差评

相关文章

网友评论

      本文标题:富文本-过滤

      本文链接:https://www.haomeiwen.com/subject/ufzigttx.html