[发明专利]消除超文本标记语言中有害代码的方法有效
| 申请号: | 200610145970.6 | 申请日: | 2006-11-28 |
| 公开(公告)号: | CN101192217A | 公开(公告)日: | 2008-06-04 |
| 发明(设计)人: | 鲍磊;陈波 | 申请(专利权)人: | 阿里巴巴公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/06 |
| 代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 逯长明 |
| 地址: | 英属开曼群岛*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 消除 超文本 标记 语言 有害 代码 方法 | ||
技术领域
本发明涉及计算机网络技术,特别涉及一种消除超文本标记语言(HyperText Marked Language,HTML)中有害代码的方法。
背景技术
超文本标记语言是一种用来制作超文本文档的简单标记语言。超文本传输协议(Hyper Text Transportation Protocol,HTTP)规定了运行HTML文档时所遵循的规则和进行的操作。用HTML编辑的超文本文档为HTML文档,它能应用于各种操作系统平台。自1990年以来HTML就一直被用作WWW(WorldWide Web,万维网,也可简写为Web)的信息表示语言。HTML的普遍应用带来了超文本的效果,即用户可以通过点击链接转入相关的主题,发送电子邮件,填写表单并联机提交,以及访问数据库和信息资源。其中,无论Web页面包括动画、多媒体、图形还是其它复杂格式的内容,其基础都是HTML。
图1示出了典型的包含用户所在的客户端、服务器和数据库的网络结构。
用户使用客户端,通过网络服务器提供的Web页面输入带有HTML代码的内容,服务器将该内容存入数据库,当用户请求显示之前输入的内容时,数据库将该内容通过服务器发送给用户所在的客户端。
用户使用客户端从网络服务器提供的Web页面获取信息时,Web页面上可以提供输入框,让用户输入带有HTML内容的信息,之后,网络服务器进行信息处理并与用户之间进行信息交互。用户在输入带有HTML内容的信息时,实际上输入的是包括带有HTML内容的代码。但是,用户输入的可能是一些错误的HTML代码,或者输入的是一些特殊的符号,例如“<”,“>”,“‘”之类的特殊符号,这些特殊符号对应特殊的HTML代码,再或者是用户输入信息时,机器产生冗余而形成错误的HTML代码。这些情况下,如果网络服务器在进行信息处理和与用户之间交互的过程中不对这些特殊或错误的HTML代码做一定处理的话,很可能在显示这些HTML代码时导致Web页面布局等出现不能正常显示的问题,会降低服务器的性能,因此这些特殊或错误的HTML代码是有害的。
另外,有很多木马攻击的方式都是通过输入有害的HTML代码或者Javascript代码来利用系统漏洞对网络实施攻击,影响了服务器的安全性。
为了避免以上的问题,现有技术中有一种消除HTML语言中有害代码的方法是这样处理的:
使用一种称为ubb code的简化HTML格式,其比HTML具有更安全的网页代码。该方法通过禁止用户输入HTML代码,而是只允许用户输入指定的ubb代码来代替HTML代码,然后在服务器端将ubb转换为HTML后再执行后续的操作,以保障服务器性能的同时提高系统的安全性。
但是,该方法要求用户熟悉ubb,而普通用户只想通过简单的复制粘贴等操作提交HTML内容,因此,对不熟悉ubb的用户来说,该方法难以实现。另外,即使是熟悉ubb的用户,在使用时也需要手动或者通过工具把要输入的HTML代码转换为指定的ubb代码,这样,影响了用户使用时的感受。
发明内容
本发明的目的是提供一种消除超文本标记语言中有害代码的方法,以克服显示HTML代码时导致的Web页面布局等不正常显示的问题及服务器安全性受破坏的问题,还克服了现有技术中难以实现不熟悉ubb的用户输入过程中消除有害HTML代码的缺点和影响用户感受的缺点。
为解决上述技术问题,本发明提供一种消除超文本标记语言中有害代码的方法是这样实现的:
一种消除超文本标记语言HTML中有害代码的方法,包括步骤:
遍历解析输入的HTML代码过程中:补齐不完整的HTML标签;根据预定义的规则对HTML代码进行过滤;
遍历解析经补齐和过滤的HTML代码过程中:对HTML代码根据需求按照预置的对应操作进行修正;根据预置的代码表将HTML代码中浏览器非标准代码转换为标准代码。
所述根据预定义的规则进行过滤由以下方式实现:
预定义保留规则:保留标签库中存储允许接收的HTML标签,对符合保留标签库的标签做保留处理;
预定义去除规则:去除标签库中存储不允许接收的HTML标签,对符合去除标签库的标签做去除处理;
预定义默认规则:对不在保留标签库和去除标签库中的标签仅去除其HTML标签,保留该标签下的内容;
根据预定义的保留规则、去除规则和默认规则对解析结果进行过滤。
预定义规则进一步包括:增加和/或减少和/或改变所述保留标签库和/或去除标签库中的标签。
所述修正步骤由以下方式实现:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴公司,未经阿里巴巴公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610145970.6/2.html,转载请声明来源钻瓜专利网。





