[发明专利]富文本过滤方法、富文本过滤装置、计算机可读存储介质在审
申请号: | 201911200307.5 | 申请日: | 2019-11-29 |
公开(公告)号: | CN112883688A | 公开(公告)日: | 2021-06-01 |
发明(设计)人: | 郭望纾 | 申请(专利权)人: | 中国电信股份有限公司 |
主分类号: | G06F40/14 | 分类号: | G06F40/14;G06F40/154;G06F21/56 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 李今子 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文本 过滤 方法 装置 计算机 可读 存储 介质 | ||
本发明提供一种富文本过滤方法、富文本过滤装置、计算机可读存储介质。一种富文本过滤方法,其中,获取富文本的字符串,将字符串解析成包括标签数据和内容的对象,遍历对象节点,当前遍历对象节点为标签数据时,针对所述标签数据进行过滤,当前遍历对象节点为内容时,针对所述内容进行转义,遍历完所有的对象节点之后,将针对所述标签数据进行过滤并针对所述内容进行转义之后的对象重新组合成用于表示富文本的字符串。
技术领域
本发明涉及安全领域,用于防止富文本被跨站脚本攻击(XSS)的技术。
背景技术
与普通文本输入不同,富文本编辑器允许用户嵌入标签和样式来提供丰富的格式设置,使得文字输出更为美观和有层次感。
当前防止跨站脚本攻击的方式大多是采用标签过滤,黑名单去除关键字或者字符转义的方式进行防御,并没有单独针对富文本进行跨站脚本攻击的成体系的防御方式。
现有方法的防止跨站脚本攻击的方式存在以下问题:对于富文本而言直接进行转义会使富文本本身失去效果;而单双引号一般不会被转义,这具有被攻击者利用的可能性;另外,标签过滤大多数情况都是黑名单过滤,存在绕过可能性。
发明内容
针对上述问题,本发明提供一种富文本过滤方法,在保留富文本样式和内容的同时,实现过滤针对富文本的跨站脚本攻击。
根据本发明的一方面,提供一种富文本过滤方法,其中,获取富文本的字符串,将字符串解析成包括标签数据和内容的对象,遍历对象节点,当前遍历对象节点为标签数据时,针对所述标签数据进行过滤,当前遍历对象节点为内容时,针对所述内容进行转义,遍历完所有的对象节点之后,将针对所述标签数据进行过滤并针对所述内容进行转义之后的对象重新组合成用于表示富文本的字符串。
优选为,在将字符串解析成包括标签数据和内容的对象时,删除不符合富文本语法的字符串。
优选为,预先设置标签白名单列表,针对所述标签数据进行过滤包括:针对所述标签数据中的标签进行过滤,以保留存在于所述标签白名单列表中的标签所在的标签数据,并删除不存在于所述标签白名单列表中的标签所在的标签数据。
优选为,预先设置属性白名单列表,当针对所述标签数据进行过滤之后的标签数据中包括属性时,针对属性进行过滤,以保留存在于所述属性白名单列表中的属性以及该属性的值,并删除不存在于所述属性白名单列表中的属性以及该属性的值。
优选为,预先设置表示属性的值的规则,从所保留的属性的值中,删除不符合所述表示属性的值的规则的属性的值。
优选为,当针对所述标签数据进行过滤之后的标签数据中包括内容时,针对所述内容进行转义。
优选为,针对所述内容进行转义包括:针对所述内容中的能够被浏览器解析而执行的符号进行转义。
根据本发明的另一方面,提供一种富文本过滤装置,包括:获取单元,获取富文本的字符串;解析单元,将字符串解析成包括标签数据以及内容的对象;过滤单元,针对通过所述解析单元解析得到的对象中包括的标签数据进行过滤;内容转义单元,针对通过所述解析单元解析得到的对象中包括的内容进行转义;以及重组单元,将通过所述过滤单元过滤之后的对象和通过所述内容转义单元内容转义之后的对象,重新组合成用于表示富文本的字符串。
优选为,所述解析单元在将字符串解析成包括标签数据以及内容的对象时,删除不符合富文本语法的字符串。
优选为,所述富文本过滤装置还包括:标签白名单列表保存单元,用于保存标签白名单列表,所述过滤单元包括:第一过滤单元,针对所述标签数据中包含的标签进行过滤,以保留存在于所述标签白名单列表中的标签所在的标签数据,并删除不存在于所述标签白名单列表中的标签所在的标签数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电信股份有限公司,未经中国电信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911200307.5/2.html,转载请声明来源钻瓜专利网。