CN101192217A - 消除超文本标记语言中有害代码的方法 - Google Patents
消除超文本标记语言中有害代码的方法 Download PDFInfo
- Publication number
- CN101192217A CN101192217A CNA2006101459706A CN200610145970A CN101192217A CN 101192217 A CN101192217 A CN 101192217A CN A2006101459706 A CNA2006101459706 A CN A2006101459706A CN 200610145970 A CN200610145970 A CN 200610145970A CN 101192217 A CN101192217 A CN 101192217A
- Authority
- CN
- China
- Prior art keywords
- html
- code
- content
- html code
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 239000003550 marker Substances 0.000 title 1
- 230000008569 process Effects 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000005498 polishing Methods 0.000 claims description 31
- 238000001914 filtration Methods 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000012937 correction Methods 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 4
- 230000014759 maintenance of location Effects 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000008447 perception Effects 0.000 abstract 1
- 230000008676 import Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 1
- 238000002224 dissection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种消除超文本标记语言HTML中有害代码的方法,包括步骤:遍历解析输入的HTML代码过程中:补齐不完整的HTML标签;根据预定义的规则对HTML代码进行过滤;遍历解析经补齐和过滤的HTML代码过程中:对HTML代码根据需求按照预置的对应操作进行修正;根据预置的代码表将HTML代码中浏览器非标准代码转换为标准代码。可以在用户输入包含HTML内容的代码并提交后由服务器进行所述方法的处理,也可以在数据库将存储的包含HTML内容的代码经由服务器发送到客户端的过程中进行所述方法的处理。利用本发明,可以消除超文本标记语言中的有害代码,使网页能够正常显示,从而保障服务器的性能,同时提高服务器的安全性,并在该过程中不影响用户的感受。
Description
技术领域
本发明涉及计算机网络技术,特别涉及一种消除超文本标记语言(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标签,保留该标签下的内容;
根据预定义的保留规则、去除规则和默认规则对解析结果进行过滤。
预定义规则进一步包括:增加和/或减少和/或改变所述保留标签库和/或去除标签库中的标签。
所述修正步骤由以下方式实现:
根据检验父子关系正确性的需求,根据对应的删除操作,删除父子关系不正确的节点;和/或
根据检验超链接正确性的需求,利用正则表达式对不正确的超链接按照对应的操作进行删除,或以普通文本进行处理;和/或
根据限制输入的HTML代码内容的需求,根据预置的恶意代码库和/或根据预置的限制词汇库,利用正则表达式删除或替换该恶意代码和/或词汇。
所述转换步骤由以下方式实现:
根据预置的转换代码表,将HTML的文本中特殊代码和/或语法关键字转换为标准代码。
所述补齐和过滤步骤在两次遍历解析过程中分别完成。
所述修正和转换步骤在两次遍历解析过程中分别完成。
所述遍历解析采用SAX解析或HTML DOM解析。
一种提交和回显包含HTML内容的方法,由以下步骤实现:
A.用户通过终端输入包含HTML代码的内容并提交到服务器;
B.服务器将用户提交的包含HTML代码存入数据库;
C.用户请求显示所述输入的包含HTML代码的内容;
D.数据库发送用户请求的包含HTML代码的内容到服务器;
E.服务器对收到包含HTML代码的内容进行以下处理:
遍历解析输入的HTML代码过程中:补齐不完整的HTML标签;根据预定义的规则对HTML代码进行过滤;
遍历解析经补齐和过滤的HTML代码过程中:对HTML代码根据需求按照预置的对应操作进行修正;根据预置的代码表将HTML代码中浏览器非标准代码转换为标准代码;
F.将经过处理的包含HTML代码的内容发送到客户端并显示。
一种提交和回显包含HTML内容的方法,由以下步骤实现:
A.用户通过终端输入包含HTML代码的内容,并提交到服务器;
B.服务器对收到包含HTML代码的内容进行以下处理:
遍历解析输入的HTML代码过程中:补齐不完整的HTML标签;根据预定义的规则对HTML代码进行过滤;
遍历解析经补齐和过滤的HTML代码过程中:对HTML代码根据需求按照预置的对应操作进行修正;根据预置的代码表将HTML代码中浏览器非标准代码转换为标准代码;
C.将经过处理的包含HTML代码的内容发送到数据库;
D.用户请求显示之前输入的包含HTML代码的内容;
E.数据库发送用户请求的包含HTML代码的内容经由到服务器到客户端。
由以上本发明提供的技术方案可见,本发明在包含HTML代码的内容经过服务器的过程中,由服务器通过对这些代码进行补齐、过滤、修正和转换处理,消除了超文本标记语言中的有害代码,使网页能够正常显示,从而保障了服务器的性能,同时提高了服务器的安全性,并在该过程中不影响用户的感受。
附图说明
图1为包含用户客户端、服务器和数据库的网络结构图;
图2为本发明消除HTML中有害代码方法的一个实施例的流程图;
图3为本发明提交和回显包含HTML内容方法的一个实施例的流程图;
图4为本发明提交和回显包含HTML内容方法的另一实施例的流程图。
具体实施方式
本发明的核心是包含HTML代码的内容经过服务器的过程中,由服务器通过对这些代码进行补齐、过滤、修正和转换步骤来消除其中的有害代码。具体实施时,可以是用户输入的包含HTML代码的内容经过服务器发送到数据库的过程中,这些代码由服务器进行补齐、过滤、修正和转换这些操作后再存入数据库,或者是在数据库将存储的HTML代码经过服务器显示给客户端过程中,由服务器对这些代码进行补齐、过滤、修正和转换这些操作。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
本领域人员知道,HTML属于文档对象模型(Document Object Module,DOM),DOM是万维网联盟(W3C)定义的一种标准文档对象模型,该模型以树形结构表示了HTML文档。HTML中的标签或标签的内容是节点,各个节点被视为DOM文档对象模型中的各种类型的Node对象,DOM详细定义了各个节点的类型。现有技术中可以用SAX对DOM进行遍历解析。SAX是解析DOM文档对象模型的一种事件驱动方式,具体为SAX解析器装载DOM文档后,在对DOM文档中的节点进行解析处理时,产生一系列的事件,根据被触发的事件,对DOM文档中的节点做出处理。除利用SAX外,也可以利用其它方法对HTML代码进行遍历解析,例如HTML DOM,该遍历解析方法与利用SAX的方法类似。
那么,本发明在遍历解析输入的包含HTML代码的内容的过程中,需要经过补齐、过滤、修正和转换操作。以下以一个实施例来说明本发明。
图2示出了本发明一个实施例的流程。
步骤201:对不完整的HTML标签进行补齐。
由于HTML的标签是成对的,包含不成对标签的HTML代码是错误的HTML代码,该步骤即是将不成对的标签进行补齐。可以利用栈来记录标签,这是本领域技术人员常用的方法。具体的,利用栈的先进先出的特点,当读到一个开始标签时,推送该标签到栈中,当读到一个结束标签时,弹出栈中的该标签,这样可以检验标签是否成对出现,并可以在检测到标签不成对时补齐缺失的标签。
步骤202:根据预先定义的规则对HTML代码进行过滤。
该步骤是对输入的HTML代码中的标签进行逐个扫描,对扫描到的结果根据预先定义的规则进行过滤。其中,过滤处理具体可以为保留和去除。规则的定义包含以下几种方式:
A.定义可以接收的HTML标签的为保留标签库,对保留标签库中的HTML标签的处理规则为保留。该规则检测扫描到的HTML标签是否为保留标签库中的标签,如果是,则按照该规则对该HTML代码进行保留处理后,即留下该HTML标签和内容。
B.定义需要去除的HTML标签为去除标签库,对去除标签库中的HTML标签的处理规则为保留。该规则检测扫描到的HTML标签是否为去除标签库中的比较,如果是,则按照该规则去除该HTML标签下的子标签和该标签下的内容。该步骤中,可以定义的HTML标签包括错误标签,还包括恶意代码标签。例如可以包括所有已知的恶意Javascript代码,这样按照该步骤的规则可以将这类的恶意代码去除,从而提高了服务器的安全性。
另外,还可以对不在上述两种标签库中的HTML标签做默认处理,例如该默认处理为只去除该HTML标签,而保留该标签下的内容。
以上标签库中的标签可以预先定义,并且可以根据情况改变标签库中的标签。
通过该步骤,保证保留了允许的HTML标签,并去除了可能有害的HTML标签,还对不在保留标签库和去除标签库中的HTML标签进行去除标签处理,只保留其内容,从而不影响页面正常显示。这样,只留下了真正需要处理的内容,为下面的步骤减轻了处理负担。
以上步骤201和202可以在一次遍历解析中完成。具体的,可以在一次SAX解析的过程中完成,并可以在利用SAX解析HTML时,对步骤201和202的操作混合执行,即不分先后,只需满足任一步骤的条件即可执行。
例如HTML代码格式为<tr><td>文本</tr>,本领域技术人员知道,HTML的标签是成对的,因此该HTML代码中缺少对应的</td>,执行步骤201,补齐该标签,补齐后的结果为<tr><td>文本</td></tr>。
对于步骤202,例如HTML代码为:
<table width=″100%″><tr><td>文本</td></tr></table> (*)
该段代码中包含table标签,tr标签。td标签和文本。利用SAX对该段代码进行解析时,对逐个标签进行扫描,每遇到一个标签时可以触发相应的事件,从而得到该标签的各种属性,这样,就可以按照步骤202中定义的规则库对该标签进行相应的处理。例如,扫描到<table>,且该标签属于保留标签库,则保留*代表的这一行代码;反之,如果该标签属于去除标签库,则去除*代表的这一行代码;另外,如果没有对该标签进行规则定义,则执行默认操作,即去除该标签,而保留剩下的内容,即保留<tr><td>文本</td></tr>。
这样,经过步骤201和202,完成对包含HTML代码内容的补齐和过滤处理。显而易见的,步骤201和步骤202也可以各在一次遍历解析中完成,例如各在一次SAX解析中完成。
步骤203:根据自定义的处理需求对HTML标签的细节进行修正。
前述步骤是对HTML代码进行简单的保留、去除和补齐处理,该步骤则是对HTML代码的的细节,即对其标签或属性进行修正处理。对这些细节的具体处理可以根据不同的需求进行。
需求1:例如需要检验HTML代码中标签间的父子关系的正确性时,采用遍历的方法检验。以检验HTML代码中<table>的标签和<td><tr>标签间父子关系的正确性为例,按照如下处理:
if(如果这个节点type==Node.ELEMENT_NODE &&节点name是tr)
{
if(如果这个节点的父节点name不是table)
去除这个节点和子节点,继续遍历条件
}
else if(如果这个节点type==Node.ELEMENT_NODE &&节点name是td)
{
if(如果这个节点的父节点name不是tr||这个节点的父节点的父节点
name不是table)
去除这个节点和子节点,继续遍历条件
}
其中,节点可以是HTML代码中的一对标签,或标签的内容,或标签下的文本。
例如按照该遍历方法检验以下代码时:
<tr><td>文本</td></tr>
这段代码必须在父标签<table>内才是完整的,即该段代码的父子关系不正确,按照上述处理方法,去除<tr><td></td></tr>。
这样,利用类似的遍历方法,检验了HTML代码中的父子关系的正确性。
需求2:本步骤需要限制HTML代码中的内容,例如要限制超链接a标签中的href属性,可以用简单的正则表达式处理。HTML代码中的a标签例如<a href=″http://club.china.alibaba.com″></a>。
以允许输入类似http://www.xxx.com的网址为例,可以利用
^((http|ftp|https):\\/\\/(\\S+|\\n))|(www\\.(\\S+|\\n))
这一正则表达式处理,该正则表达式的意思是设置了对超链接的限制条件:必须是以http或ftp或https开头,之后必须是://,之后可以没有www,但是如果有www则必须是www的形式。这样,由正则表达式对HTML代码中的超链接作了限制,以检验超链接的正确性。如果不符合正则表达式的要求,则返回错误信息,并不把该内容作为超链接处理,例如可以作删除处理,还可以按照普通文本的形式输出以显示在页面上。
需求3:本步骤需要对HTML代码的一些内容进行限制,如禁止或进行替换。例如输入的是恶意代码,可能需要保留这个标签,而不是简单的去除,则可以将恶意代码替换成允许接收的代码。再例如文本中存在反动、色情的词汇,将该类文字去除,还可以是将这些词汇进行替换.根据该需求,可以设置恶意代码库,还可以设置限制词汇库,以对HTML代码的内容做相应的处理。
具体的处理过程,可以采用正则表达式,对检测到的属于上述恶意代码库和/或限制词汇库的代码或内容进行替换和删除等操作。
当然,本步骤还可能包括其它需求,在此不再例举。
步骤204:将HTML代码中的非标准代码转换成标准代码。
文本中经常有一些非标准代码,如\n,\r之类的特殊代码,实际上是表示换行,但是浏览器把这类代码当作普通文本,而不会解析这种代码代表的意义,因此会使浏览器的页面显示出问题;文本中还经常有HTML的语法关键字,如“<”、“>”这类代码,也会使浏览器的页面显示出问题,则该步骤将这些代码转换为浏览器可以解析的代码,例如将“>”转换为“>”,将“\n”转换为“<br>”,这样,浏览器可以解析这一经过转换的标准代码,因此,可以避免浏览器的页面显示出现问题。
具体的,可以预置一个代码转换表,将浏览器不能解析的代码映射为浏览器可以解析的标准代码。预置的代码表可以如下表所示:
想表达的意图 | 标准代码 | 想表达的意图 | 标准代码 |
回车换行 | <br> | 空格 |   |
&(and符号) | & | <(左尖括号、小于号) | < |
>(右尖括号、大于号) | > | …… | …… |
表1.非标准代码与标准代码的映射表
与步骤201和202所述的相类似,步骤203和204可以在一次解析的过程中完成,例如可以在一次SAX解析的过程中完成,并可以在利用SAX解析时,对步骤203和204的操作混合执行,即不分先后,只需满足任一步骤的条件即可执行。同样显而易见的,步骤203和步骤204也可以各在一次遍历解析中完成,例如各在一次SAX解析中完成。
上述步骤201至204可以应用在用户输入的包含HTML代码的内容提交和回显过程中经过服务器的不同阶段,即在不同的时机对包含HTML代码的内容作处理,都可以满足本发明的目的,即消除包含HTML代码的内容中的有害代码。以下举两个实施例加以说明。
图3示出了第一个实施例处理流程。
301:用户通过终端输入包含HTML代码的内容,并提交到服务器;
302:服务器将用户提交的包含HTML代码存入数据库;
303:用户请求显示之前输入的包含HTML代码的内容;
304:数据库发送用户请求的包含HTML代码的内容到服务器;
305:服务器对收到包含HTML代码的内容做如下处理后发送到用户所在的客户端并显示:
遍历解析输入的HTML代码过程中:补齐不完整的HTML标签;根据预定义的规则对HTML代码进行过滤;
遍历解析经补齐和过滤的HTML代码过程中:对HTML代码根据需求按照预置的对应操作进行修正;根据预置的代码表将HTML代码中浏览器非标准代码转换为标准代码。
上述处理即为步骤201至204所描述方法的处理过程。
这种情况是在每次用户请求显示之前输入的包含HTML代码的内容时,由服务器对该内容做消除有害HTML代码的处理,再发送到用户所在的客户端并显示。
第二实施例与此类似,图4示出了第二个实施例的处理流程。
401:用户通过终端输入包含HTML代码的内容,并提交到服务器;
402:服务器对收到包含HTML代码的内容做如下处理后发送到数据库;
遍历解析输入的HTML代码过程中:补齐不完整的HTML标签;根据预定义的规则对HTML代码进行过滤;
遍历解析经补齐和过滤的HTML代码过程中:对HTML代码根据需求按照预置的对应操作进行修正;根据预置的代码表将HTML代码中浏览器非标准代码转换为标准代码。
上述处理即为步骤201至204所描述方法的处理过程。
403:用户请求显示之前输入的包含HTML代码的内容;
404:数据库发送用户请求的包含HTML代码的内容到服务器,再由服务器转发到用户所在的客户端并显示。
这种情况是在用户输入包含HTML代码的内容并提交时,由服务器对该内容做消除有害HTML代码的处理,再发送到数据库,当用户请求显示之前输入的包含HTML代码的内容时,数据库直接将该内容通过服务器发送到用户所在的客户端,且这一过程中服务器不需再对包含HTML代码的内容做处理,能使包含该内容的浏览器页面正常显示。
由以上实施例可见,本发明在包含HTML代码的内容经过服务器的过程中,由服务器通过对这些代码进行补齐、过滤、修正和转换处理,可以有效消除HTML中的有害代码,使Web页面可以正常显示,从而保障了服务器的性能,并可以防止恶意代码进行的网络攻击,提高了服务器的安全性。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (10)
1.一种消除超文本标记语言HTML中有害代码的方法,其特征在于,包括步骤:
遍历解析输入的HTML代码过程中:补齐不完整的HTML标签;根据预定义的规则对HTML代码进行过滤;
遍历解析经补齐和过滤的HTML代码过程中:对HTML代码根据需求按照预置的对应操作进行修正;根据预置的代码表将HTML代码中浏览器非标准代码转换为标准代码。
2.如权利要求1所述的方法,其特征在于,所述根据预定义的规则进行过滤由以下方式实现:
预定义保留规则:保留标签库中存储允许接收的HTML标签,对符合保留标签库的标签做保留处理;
预定义去除规则:去除标签库中存储不允许接收的HTML标签,对符合去除标签库的标签做去除处理;
预定义默认规则:对不在保留标签库和去除标签库中的标签仅去除其HTML标签,保留该标签下的内容;
根据预定义的保留规则、去除规则和默认规则对解析结果进行过滤。
3.如权利要求2所述的方法,其特征在于,预定义规则进一步包括:增加和/或减少和/或改变所述保留标签库和/或去除标签库中的标签。
4.如权利要求1所述的方法,其特征在于,所述修正步骤由以下方式实现:
根据检验父子关系正确性的需求,根据对应的删除操作,删除父子关系不正确的节点;和/或
根据检验超链接正确性的需求,利用正则表达式对不正确的超链接按照对应的操作进行删除,或以普通文本进行处理;和/或
根据限制输入的HTML代码内容的需求,根据预置的恶意代码库和/或根据预置的限制词汇库,利用正则表达式删除或替换该恶意代码和/或词汇。
5.如权利要求1所述的方法,其特征在于,所述转换步骤由以下方式实现:
根据预置的转换代码表,将HTML的文本中特殊代码和/或语法关键字转换为标准代码。
6.如权利要求1所述的方法,其特征在于,所述补齐和过滤步骤在两次遍历解析过程中分别完成。
7.如权利要求1所述的方法,其特征在于,所述修正和转换步骤在两次遍历解析过程中分别完成。
8.如权利要求1、6或7任一项所述的方法,其特征在于,所述遍历解析采用SAX解析或HTML DOM解析。
9.一种提交和回显包含HTML内容的方法,其特征在于,由以下步骤实现:
A.用户通过终端输入包含HTML代码的内容并提交到服务器;
B.服务器将用户提交的包含HTML代码存入数据库;
C.用户请求显示所述输入的包含HTML代码的内容;
D.数据库发送用户请求的包含HTML代码的内容到服务器;
E.服务器对收到包含HTML代码的内容进行以下处理:
遍历解析输入的HTML代码过程中:补齐不完整的HTML标签;根据预定义的规则对HTML代码进行过滤;
遍历解析经补齐和过滤的HTML代码过程中:对HTML代码根据需求按照预置的对应操作进行修正;根据预置的代码表将HTML代码中浏览器非标准代码转换为标准代码;
F.将经过处理的包含HTML代码的内容发送到客户端并显示。
10.一种提交和回显包含HTML内容的方法,其特征在于,由以下步骤实现:
A.用户通过终端输入包含HTML代码的内容,并提交到服务器;
B.服务器对收到包含HTML代码的内容进行以下处理:
遍历解析输入的HTML代码过程中:补齐不完整的HTML标签;根据预定义的规则对HTML代码进行过滤;
遍历解析经补齐和过滤的HTML代码过程中:对HTML代码根据需求按照预置的对应操作进行修正;根据预置的代码表将HTML代码中浏览器非标准代码转换为标准代码;
C.将经过处理的包含HTML代码的内容发送到数据库;
D.用户请求显示之前输入的包含HTML代码的内容;
E.数据库发送用户请求的包含HTML代码的内容经由到服务器到客户端。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101459706A CN101192217B (zh) | 2006-11-28 | 2006-11-28 | 消除超文本标记语言中有害代码的方法 |
HK08110079.5A HK1117245A1 (en) | 2006-11-28 | 2008-09-10 | Method for removing harmful codes in hyper text markup language |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101459706A CN101192217B (zh) | 2006-11-28 | 2006-11-28 | 消除超文本标记语言中有害代码的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101192217A true CN101192217A (zh) | 2008-06-04 |
CN101192217B CN101192217B (zh) | 2010-07-21 |
Family
ID=39487214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101459706A Expired - Fee Related CN101192217B (zh) | 2006-11-28 | 2006-11-28 | 消除超文本标记语言中有害代码的方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101192217B (zh) |
HK (1) | HK1117245A1 (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541533A (zh) * | 2010-12-27 | 2012-07-04 | 北大方正集团有限公司 | 页面显示方法和设备 |
CN102880606A (zh) * | 2011-07-11 | 2013-01-16 | 百度在线网络技术(北京)有限公司 | 一种计算机实现的用于优化标记语言文本的方法与设备 |
CN102999723A (zh) * | 2012-11-20 | 2013-03-27 | 焦点科技股份有限公司 | 主动防御xss攻击的数据防御组件生成方法及其装置 |
US8453041B2 (en) | 2009-11-05 | 2013-05-28 | International Business Machines Corporation | Obscuring information in messages using compression with site-specific prebuilt dictionary |
US8539224B2 (en) | 2009-11-05 | 2013-09-17 | International Business Machines Corporation | Obscuring form data through obfuscation |
CN103365640A (zh) * | 2012-03-30 | 2013-10-23 | 中兴通讯股份有限公司 | 层叠样式表样式转换方法及装置 |
CN103391520A (zh) * | 2012-05-08 | 2013-11-13 | 腾讯科技(深圳)有限公司 | 一种拦截恶意短信的方法、终端、服务器及系统 |
CN103577188A (zh) * | 2013-10-24 | 2014-02-12 | 北京奇虎科技有限公司 | 防御跨站脚本攻击的方法及装置 |
CN103605514A (zh) * | 2013-11-11 | 2014-02-26 | 北京奇虎科技有限公司 | 一种前端模板的处理方法及装置 |
CN104750669A (zh) * | 2013-12-30 | 2015-07-01 | 珠海金山办公软件有限公司 | 一种待粘贴对象的处理方法及装置 |
CN105740308A (zh) * | 2015-12-19 | 2016-07-06 | 哈尔滨安天科技股份有限公司 | 基于超文本标记语言结构的网站暗链检测方法及系统 |
CN105912140A (zh) * | 2016-04-08 | 2016-08-31 | 乐视控股(北京)有限公司 | 信息存储方法及装置 |
CN107967245A (zh) * | 2017-12-07 | 2018-04-27 | 泰康保险集团股份有限公司 | 数据处理方法、装置、终端和存储介质 |
CN109683906A (zh) * | 2018-12-25 | 2019-04-26 | 北京小米移动软件有限公司 | 处理html代码片段的方法及装置 |
CN114398578A (zh) * | 2021-12-23 | 2022-04-26 | 网易有道信息技术(北京)有限公司 | 用于对html字符串进行预处理的方法及其相关产品 |
-
2006
- 2006-11-28 CN CN2006101459706A patent/CN101192217B/zh not_active Expired - Fee Related
-
2008
- 2008-09-10 HK HK08110079.5A patent/HK1117245A1/xx not_active IP Right Cessation
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8453041B2 (en) | 2009-11-05 | 2013-05-28 | International Business Machines Corporation | Obscuring information in messages using compression with site-specific prebuilt dictionary |
US8539224B2 (en) | 2009-11-05 | 2013-09-17 | International Business Machines Corporation | Obscuring form data through obfuscation |
US8453040B2 (en) | 2009-11-05 | 2013-05-28 | International Business Machines Corporation | Obscuring information in messages using compression with site-specific prebuilt dictionary |
CN102541533B (zh) * | 2010-12-27 | 2014-12-17 | 北大方正集团有限公司 | 页面显示方法和设备 |
CN102541533A (zh) * | 2010-12-27 | 2012-07-04 | 北大方正集团有限公司 | 页面显示方法和设备 |
CN102880606A (zh) * | 2011-07-11 | 2013-01-16 | 百度在线网络技术(北京)有限公司 | 一种计算机实现的用于优化标记语言文本的方法与设备 |
CN102880606B (zh) * | 2011-07-11 | 2017-03-15 | 百度在线网络技术(北京)有限公司 | 一种计算机实现的用于优化标记语言文本的方法与设备 |
CN103365640A (zh) * | 2012-03-30 | 2013-10-23 | 中兴通讯股份有限公司 | 层叠样式表样式转换方法及装置 |
CN103391520A (zh) * | 2012-05-08 | 2013-11-13 | 腾讯科技(深圳)有限公司 | 一种拦截恶意短信的方法、终端、服务器及系统 |
CN103391520B (zh) * | 2012-05-08 | 2016-01-20 | 腾讯科技(深圳)有限公司 | 一种拦截恶意短信的方法、终端、服务器及系统 |
CN102999723B (zh) * | 2012-11-20 | 2015-11-18 | 焦点科技股份有限公司 | 主动防御xss攻击的数据防御组件生成方法及其装置 |
CN102999723A (zh) * | 2012-11-20 | 2013-03-27 | 焦点科技股份有限公司 | 主动防御xss攻击的数据防御组件生成方法及其装置 |
CN103577188A (zh) * | 2013-10-24 | 2014-02-12 | 北京奇虎科技有限公司 | 防御跨站脚本攻击的方法及装置 |
CN103577188B (zh) * | 2013-10-24 | 2016-11-16 | 北京奇虎科技有限公司 | 防御跨站脚本攻击的方法及装置 |
CN103605514A (zh) * | 2013-11-11 | 2014-02-26 | 北京奇虎科技有限公司 | 一种前端模板的处理方法及装置 |
CN103605514B (zh) * | 2013-11-11 | 2017-11-21 | 北京奇虎科技有限公司 | 一种前端模板的处理方法及装置 |
CN104750669A (zh) * | 2013-12-30 | 2015-07-01 | 珠海金山办公软件有限公司 | 一种待粘贴对象的处理方法及装置 |
CN105740308A (zh) * | 2015-12-19 | 2016-07-06 | 哈尔滨安天科技股份有限公司 | 基于超文本标记语言结构的网站暗链检测方法及系统 |
CN105912140A (zh) * | 2016-04-08 | 2016-08-31 | 乐视控股(北京)有限公司 | 信息存储方法及装置 |
CN107967245A (zh) * | 2017-12-07 | 2018-04-27 | 泰康保险集团股份有限公司 | 数据处理方法、装置、终端和存储介质 |
CN109683906A (zh) * | 2018-12-25 | 2019-04-26 | 北京小米移动软件有限公司 | 处理html代码片段的方法及装置 |
CN114398578A (zh) * | 2021-12-23 | 2022-04-26 | 网易有道信息技术(北京)有限公司 | 用于对html字符串进行预处理的方法及其相关产品 |
CN114398578B (zh) * | 2021-12-23 | 2024-11-29 | 网易有道信息技术(北京)有限公司 | 用于对html字符串进行预处理的方法及其相关产品 |
Also Published As
Publication number | Publication date |
---|---|
HK1117245A1 (en) | 2009-01-09 |
CN101192217B (zh) | 2010-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101192217B (zh) | 消除超文本标记语言中有害代码的方法 | |
Bray et al. | Extensible markup language (XML) 1.0 | |
CN100492963C (zh) | 代理服务器和访问控制方法 | |
US6944820B2 (en) | Ensuring proper rendering order of bidirectionally rendered text | |
CN104065632B (zh) | 分享内容的处理方法、服务器、客户端及系统 | |
CN102486799B (zh) | 一种环球信息网www页面处理方法和装置 | |
US8095673B2 (en) | Generic format for efficient transfer of data | |
US10110659B2 (en) | Method and apparatus for obtaining webpages | |
JP2001243219A (ja) | 不完全な形式のhtml文書の記述構造 | |
CN104063401A (zh) | 一种网页样式地址合并的方法和装置 | |
CN104243475B (zh) | 基于web反向代理的动态混淆的方法及系统 | |
CN108446136A (zh) | 一种元素代码的提取方法及系统 | |
CN101650713B (zh) | 在浏览器中实现标签页的方法与装置 | |
CN106559455B (zh) | 一种填表结果反馈提示方法及装置 | |
Sperberg-McQueen | Extensible markup language (XML) 1.0 | |
Nottingham et al. | Problem Details for HTTP APIs | |
US20030051056A1 (en) | Method and system for transmitting compacted text data | |
CN104778282B (zh) | 一种iptv机顶盒浏览器的网页容错方法及系统 | |
CN101692244A (zh) | 嵌入式浏览器的编码优化方法及装置 | |
CN103413092A (zh) | 一种网络终端禁止恶意代码注入的方法 | |
US9213502B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium for recording printing information | |
CN102281259B (zh) | 对请求信息进行解码的方法及装置 | |
CN113609828A (zh) | 一种表单可视化配置方法及系统 | |
KR20110024874A (ko) | 웹 컨텐츠 스크랩 시스템 및 그 방법 | |
CN104063488A (zh) | 一种半自动化学习式的表单特征提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1117245 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1117245 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100721 Termination date: 20201128 |
|
CF01 | Termination of patent right due to non-payment of annual fee |