CN101808088A - 一种网络控制设备及其实现方法 - Google Patents
一种网络控制设备及其实现方法 Download PDFInfo
- Publication number
- CN101808088A CN101808088A CN 201010117659 CN201010117659A CN101808088A CN 101808088 A CN101808088 A CN 101808088A CN 201010117659 CN201010117659 CN 201010117659 CN 201010117659 A CN201010117659 A CN 201010117659A CN 101808088 A CN101808088 A CN 101808088A
- Authority
- CN
- China
- Prior art keywords
- post request
- post
- request msg
- client
- keyword
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种网络控制设备及其实现方法。客户端通过互联网经该网络控制设备与网络服务器相连,以便该客户端向该网络服务器发送POST请求数据。本发明通过该网络控制设备接收来自客户端的POST请求数据,并提取该POST请求数据中的多个特征,进而生成该POST请求数据的关键字序列,再将该关键字序列与POST模板库中的模板相匹配,以便判断其接收到的该POST请求数据是否为允许向网络服务器发送的数据。本发明的网络控制设备中的POST模板库容量小,网络设备维护成本低且访问速度快。
Description
技术领域
本发明涉及互联网技术,尤其涉及互联网安全技术。
背景技术
目前,客户端访问HTTP网站最基本的方法有两种,一种是基于GET请求方式,一种是基于POST请求方式。GET请求方式是从服务器上获取数据,POST请求方式是向服务器传送数据。对于GET请求方式,客户端需要通过URL提交数据,服务器端用Request.QueryString获取变量值,且传输数据量最多只有1024字节。对于POST请求方式,数据通过放置在HTML HEADER中后再提交,服务器端用Request.Form获取提交的数据,且传输数据量大,甚至可达2M。
GET请求一般不产生副作用,从根本上讲,其目标是在用户打开一个链接时不改变服务器上的资源请求。POST请求则可能改变服务器上的资源请求。
近年来,随着互联网技术的快速发展,人们对互联网个性化需求也越来也高,一种只能浏览特定网站而不能对该网站信息做出响应的需求越来越强烈。比如,在公司等特定环境下,只允许员工通过互联网收发邮件、查阅资料、浏览相关技术论坛等,但却不允许员工玩偷菜游戏、提交淘宝订单等。也就是说,在某些特定环境中,只允许客户端从服务器获取数据,却不允许客户端向服务器端提交数据。
在现有技术中,解决以上问题所采用的技术方案为,通过识别客户端发送的URL具体内容来辨别客户端发送的请求数据是否为系统设定的不允许向服务器传送的非法数据。然而,此种方法需要存储大量的非法URL,维护成本高且访问速度较慢。
发明内容
本发明提供了一种能解决以上问题的网络控制设备及其实现方法。
在第一方面,本发明提供了一种网络控制设备,其中客户端经该网络控制设备并通过互联网与网络服务器相连,以便该客户端向该网络服务器发送POST请求数据。并且该网络控制设备包括POST模板库和识别控制模块。
该识别控制模块用于接收来自客户端的POST请求数据,并提取该POST请求数据中的多个特征,进而生成该POST请求数据的关键字序列,再将该关键字序列与POST模板库中的模板相匹配,以便判断其接收到的该POST请求数据是否为允许向网络服务器发送的数据。其中,POST模板库用于存储客户端向网络服务器发送的关键字序列。
在第二方面,本发明提供了一种网络控制方法,包括客户端和网络服务器,该客户端通过互联网与网络服务器相连,以便该客户端向网络服务器发送POST请求数据。该网络控制方法具体实现方法如下:
首先接收来自客户端的POST请求数据,再提取该POST请求数据中的多个特征,从而生成该POST请求数据的关键字序列,再将该关键字序列与POST模板库中的模板进行匹配。
然后在该POST请求数据的关键字序列与POST模板库中的某个模板相匹配时,判定该POST请求数据为不允许客户端向网络服务器发送的数据。其中,POST模板库用于存储不允许客户端向网络服务器发送的关键字序列。
在本发明的一个实施例中,生成关键字序列的方法为,首先识别POST请求数据类别为key1=value1 & key2=value2 & key3=value3... & key n=valuen形式,然后以“&”符号为分隔符将该POST请求数据分割成多个子字符串,再将该多个子字符串中每个子字符串以“=”为分隔,则符号“=”前面部分为关键字,将得到的所有关键字按照先后顺序排列从而得到关键字序列。其中,key为关键字,value为相应关键字赋值。
在本发明的另一个实施例中,生成关键字序列的方法为,首先识别POST请求数据类别为包含Content-Disposition:form-data;name=字符串类别,然后判定该字符串后面双引号内的内容为关键字,再将得到的所有关键字按照先后顺序排列从而得到关键字序列。
在本发明的又一个实施例中,生成关键字序列的方法为,首先识别POST请求数据类别为以换行符为分隔符类别,然后以换行符作为分隔符将该POST请求数据分割成多个字符串,再对每个字符串以符号“=”作为分隔符,则该符号“=”前面部分为关键字,将得到的所有关键字按照先后顺序排列从而得到关键字序列。
在本发明的还一个实施例中,生成关键字序列的方法为,首先识别POST请求数据类别为请求数据包含xml文件类别,然后查找该POST请求数据中的字符串=<?xml version=″″encoding=″″?>,再判定该字符串前面部分为关键字,将得到的所有关键字按照先后顺序排列从而得到关键字序列。
本发明通过识别POST请求中的key(关键字)序列,并将该key序列与POST模板库中的模板进行匹配度分析,从而辨别该POST请求是否为允许向至服务器发送的请求。本发明方法所需POST模板库容量小、维护成本低廉并且访问速度快。
附图说明
下面将参照附图对本发明的具体实施方案进行更详细的说明,在附图中:
图1是本发明一个实施例的网络控制系统框图;
图2是本发明一个实施例的网络控制系统流程图。
具体实施方式
图1是本发明一个实施例的网络控制系统框图。该网络控制系统包括客户端110、网络控制设备120、网络服务器130。其中,网络控制设备120包括POST模板库121和识别控制模块122。
图1中,客户端110用于通过网络控制设备120向识别控制模块122发送网络请求数据。
识别控制模块122用于接收来自客户端110的网络请求数据,并判断该网络请求数据是否为POST请求数据,在其接收到的网络请求数据为POST请求数据情况下,顺序提取该POST请求数据的多个特征,进而生成该POST请求数据的关键字序列,再将该关键字序列与POST模板库121中的模板一一匹配,在该关键字序列与该POST模块库121中的某个模板匹配后,判定该网络请求数据为不允许客户端110向网络服务器130发送的POST请求数据,因此识别控制模块122阻断该网络请求数据。
较佳地,识别控制模块122在阻断该网络请求数据后,向客户端110发送“已阻断该网络请求数据”相关响应信息。
在识别控制模块122判定其接收到的网络请求数据不是POST请求数据,或者其接收到的网络请求数据是POST请求数据且该POST请求数据的关键字序列与POST模块库121中的任何模板均不匹配情况下,判定该网络请求数据为允许客户端110向网络服务器130发送的网络请求数据,因此该识别控制模块122将该网络请求数据通过互联网发送至网络服务器130。
网络服务器130根据来自客户端110的该网络请求信息做出相应响应。
其中,POST模板库121用于存储不允许客户端110向网络服务器130发送的非法POST请求数据的关键字序列及相应关键字序列的类别属性。该关键字序列的类别如论坛发帖、在线交易、网络游戏等,POST模板库管理者通过配置该POST模板库中关键字序列的类别属性,来决定何种类别为非法类别。该关键字序列具有一定顺序,且该POST模板库能够被实时更新。
图2是本发明一个实施例的网络控制方法流程图。
在步骤210,识别控制模块122接收来自客户端110的网络请求数据。
在步骤211,识别控制模块122判断该网络请求数据是否为POST请求数据,若该网络请求数据不是POST请求数据,则执行步骤250即判定该网络请求数据为允许客户端110向网络服务器130发送的合法请求数据。
在步骤212,若识别控制模块122判定其接收到的网络请求数据为POST请求数据,则识别该POST请求数据所属类别。
POST请求数据有四种类别,第一种POST请求数据形式为key1=value1 & key2=value2 & key3=value3... & key n=value n。其中,key为关键字,value为相应关键字key的赋值(简称值),并且key数量为一个或一个以上,即n取值大于等于1。
第二种POST请求数据包含Content-Disposition:form-data;name=字符串。第三种POST请求数据以换行符(\n)为分隔符。第四种POST请求数据包含xml文件。
需要说明的是,POST模板库121中的POST请求类别能够被实时更新,一旦网络中出现需要被阻断的新类别POST请求时,与该新类别POST请求相对于的PSOT请求模板将被更新到POST模板库121中,因此POST模板库121能够拥有最新的POST请求模板,而并不仅限于以上所述四种POST请求类别。
下面详细阐述如何根据识别到的POST请求所属类别,得到该POST请求的key(关键字)序列及value(值)序列。
当在步骤210中识别到POST请求为第一种类别的POST请求时,即识别控制模块122接收到的POST请求满足key1=value1 & key2=value2 & key3=value3……key n=value n时,则从步骤210跳转到步骤221。
在步骤221,对识别控制模块122接收到的该第一种类型的POST请求数据,以“&”符号为分隔符将该POST请求数据分割成多个子字符串,并将该多个子字符串中每个子字符串以“=”为分隔,则符号“=”前面部分为key,符号“=”后面部分为value,将得到的所有key按照先后顺序排列从而得到key序列,将得到的所有value按照先后顺序排列从而得到value序列。
举例,以下是某第一种类型POST请求的部分内容:
video_id= & b=marriage & servername=club.women.sohu.com & postkeycode=34e580f8 & t=900 & face_id= & owner id=club_marriage & cover= & tagid=15 & title=……
则以符合“&”为分隔符得到的多个子字符串为video_id=、b=marriage、servername=club.women.sohu.com、postkeycode=34e580f8、t=900、face_id=、ownerid=club_marriage、cover=、tagid=15、title=……
再以符号“=”为分隔,从而得到POST请求中的key分别为video_id、b、servername、postkeycode、t、face_id、ownerid、cover、tagid、title=……
进而得到该POST请求的key序列为:video_id、b、servername、postkeycode、t、face_id、ownerid、cover、tagid、title=……
当在步骤210中识别到POST请求为第二种类别的POST请求时,即识别控制模块122接收到的POST请求包含″Content-Disposition:form-data;name=″字符串时,则从步骤210跳转到步骤222。
在步骤222,在识别控制模块122接收到的该第二种类型的POST请求数据中,查找该Content-Disposition:form-data;name=字符串,且该字符串后面存在双引号,则判定该双引号之间的内容为key,且该key下一行内容即为value。当查找到的该key没有下一行时,则该key对应的value为空。将得到的所有key按照先后顺序排列从而得到key序列,将得到的所有value按照先后顺序排列从而得到value序列。
举例,以下是某第二种类型POST请求的部分内容:
-----------------------------7d92511211054cContent-Disposition:form-data;name=″formhash″
fcf5b934
-----------------------------7d92511211054cContent-Disposition:form-data;name=″wysiwyg″
1
-----------------------------7d92511211054cContent-Disposition:form-data;name=″updateswfattach″
0
-----------------------------7d92511211054cContent-Disposition:form-data;name=″subject″
-----------------------------7d92511211054cContent-Disposition:form-data;name=″message″
……
则该POST请求中的key序列为:Formhash、wysiwyg、updateswfattach、subject、message……
该POST请求中的value序列为:fcf5b934、1、0……
当在步骤210中识别到POST请求为第三种类别的POST请求时,即识别控制模块122接收到的POST请求以换行符(\n)为分隔符时,则从步骤210跳转到步骤223。
步骤223,对识别控制模块122接收到的该第三种类型的POST请求数据,以换行符(\n)作为分隔符将该POST请求数据分割成多个字符串,然后再对每个字符串以符号“=”作为分隔符,则该符号“=”前面部分为key,该符号“=”后面部分为value。将得到的所有key按照先后顺序排列从而得到key序列,将得到的所有value按照先后顺序排列从而得到value序列。
举例,以下是某第三种类型POST请求的部分内容:
callCount=1
page=/bbs/localjk/155785733.html
httpSessionld=baca_QjN3ELK34ABe7wts
scriptSessionld=FA416F4F720C6D656CD8C6E818C8286438
c0-scriptName=Dwr
c0-methodName=hasForfendKeyword
c0-id=0
c0-param0=string:local jk
c0-param1=string:155785733
c0-param2=string:
……
则该POST请求的key序列为:callCount、page、httpSessionld、scriptSessionld、c0-scriptName、c0-methodName、c0-id、c0-param0、c0-param1=c0-param2……
则该POST请求的value序列为:1、/bbs/local j k/155785733.html、baca_QjN3ELK34ABe7wts、FA416F4F720C6D656CD8C6E818C8286438、Dwr、hasForfendKeyword、0、string:local jk、string:155785733、string:……
当在步骤210中识别到POST请求为第四种类别的POST请求时,即识别控制模块122接收到的POST请求包含xml文件时,则从步骤210跳转到步骤224。
在步骤224,对识别控制模块122接收到的该第一种类型的POST请求数据,查找该POST请求数据中的字符串=<?xml version=″″encoding=″″?>,并判定该字符串=<?xml version=″″encoding=″″?>前面部分为key,且value为xml文件。
举例,以下是某第四种类型POST请求的部分内容:
t=<?xml version=″1.0″encoding=″UTF-8″?>
<files><file><filename><![CDATA[safeboxTray.exe]]></filename><md5><![CDATA[24a77513c963567677cf7dc49f472e9e]]></md5><path><![CDATA[E:\360\360Safebox\safeboxTray.exe]]></path><class><![CDATA[100]]></class><filesize><![CDATA[808456]]……
则该POST请求中的key为t,value为xml文件。
需要说明的是,在以上所述四种POST请求类别中,第一种POST请求和第二种POST请求较多,而第三种POST请求和第四种POST请求则相对较少。
在步骤230,接收来自步骤221或步骤222或步骤223或步骤224的key序列,并对该key序列与POST模板库121中的模板进行匹配。
在步骤240,判断该key序列与POST模板库121中的非法类别是否匹配。若该key序列与POST模板库121中的某个非法类别相匹配,则该POST请求为不允许向网络服务器130发送的请求,因此阻断该POST请求。具体非法类别由POST模板库管理者配置,如管理者可以将POST模板库中的非法类别配置成网络游戏,合法类别配置成论坛发帖、在线交易等。
若该POST请求中的key序列与POST模板库121中的非法类别不匹配,则执行步骤250即断定该POST请求为允许向网络服务器130发送的合法请求,因此将该POST请求通过互联网发送至网络服务器130。
综上所述,通过POST模板库识别网络请求数据,与通过传统方法中识别具体URL内容相比,该方法能够通过识别key具体含义从而得知该POST请求行为的具体含义,并且POST模板库容量小,网络设备维护成本低、访问速度快。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。本发明所要求保护的范围仅由所述的权利要求书进行限定。
Claims (10)
1.一种网络控制设备(120),其中客户端(110)经该网络控制设备(120)并通过互联网与网络服务器(140)相连,以便该客户端(110)向该网络服务器(140)发送POST请求数据,其特征在于,所述网络控制设备(120)包括POST模板库(121)和识别控制模块(122);
所述识别控制模块(122)用于接收来自客户端(110)的POST请求数据,并提取该POST请求数据中的多个特征,进而生成该POST请求数据的关键字序列,再将该关键字序列与所述POST模板库(121)中的模板相匹配,以便判断其接收到的该POST请求数据是否为允许向所述网络服务器(130)发送的数据;
其中,所述POST模板库(121)用于存储不允许所述客户端(110)向所述网络服务器(130)发送的关键字序列。
2.如权利要求1所述的一种网络控制设备,其特征在于,所述POST模板库(121)能够被实时更新。
3.一种网络控制方法,包括客户端和网络服务器,该客户端通过互联网与网络服务器相连,以便该客户端向网络服务器发送POST请求数据,其特征在于,包括
步骤a,接收来自所述客户端的POST请求数据,再提取该POST请求数据中的多个特征,从而生成该POST请求数据的关键字序列,再将该关键字序列与POST模板库中的模板进行匹配;
步骤b,在该POST请求数据的关键字序列与POST模板库中的某个模板相匹配时,判定该POST请求数据为不允许客户端向网络服务器发送的数据;
其中,所述POST模板库存储不允许客户端向网络服务器发送的关键字序列。
4.如权利要求3所述的一种网络控制方法,其特征在于,在步骤a中所述提取POST请求数据中的多个特征之前包括识别所述POST请求数据所属类别的步骤。
5.如权利要求4所述的一种网络控制方法,其特征在于,在识别出所述POST请求数据类别为key1=value1&key2=value2&key3=value3...&keyn=valuen形式时,以“&”符号为分隔符将该POST请求数据分割成多个子字符串,并将该多个子字符串中每个子字符串以“=”为分隔,则符号“=”前面部分为关键字,将得到的所有关键字按照先后顺序排列从而得到关键字序列;
其中,所述key为关键字,value为相应关键字赋值。
6.如权利要求4所述的一种网络控制方法,其特征在于,在识别出所述POST请求数据类别为包含Content-Disposition:forr-data;name=字符串类别时,判定该字符串后面双引号内的内容为关键字,将得到的所有关键字按照先后顺序排列从而得到关键字序列。
7.如权利要求4所述的一种网络控制方法,其特征在于,在识别出所述POST请求数据类别为以换行符为分隔符类别时,首先以换行符作为分隔符将该POST请求数据分割成多个字符串,然后再对每个字符串以符号“=”作为分隔符,则该符号“=”前面部分为关键字,将得到的所有关键字按照先后顺序排列从而得到关键字序列。
8.如权利要求4所述的一种网络控制方法,其特征在于,在识别出所述POST请求数据类别为请求数据包含xml文件类别时,查找该POST请求数据中的字符串=<?xml version=″″encoding=″″?>,并判定该字符串前面部分为关键字,将得到的所有关键字按照先后顺序排列从而得到关键字序列。
9.如权利要求3所述的一种网络控制方法,其特征在于,所述步骤b包括阻断该POST请求的步骤。
10.如权利要求3所述的一种网络控制方法,其特征在于,在所述步骤a之前包括接收来自所述客户端的网络请求数据并识别该网络请求数据是否为POST请求数据的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010117659 CN101808088A (zh) | 2010-03-03 | 2010-03-03 | 一种网络控制设备及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010117659 CN101808088A (zh) | 2010-03-03 | 2010-03-03 | 一种网络控制设备及其实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101808088A true CN101808088A (zh) | 2010-08-18 |
Family
ID=42609708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010117659 Pending CN101808088A (zh) | 2010-03-03 | 2010-03-03 | 一种网络控制设备及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101808088A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291433A (zh) * | 2011-07-06 | 2011-12-21 | 杭州迪普科技有限公司 | 一种bbs报文的审计方法及装置 |
CN103036910A (zh) * | 2013-01-05 | 2013-04-10 | 北京网康科技有限公司 | 一种用户Web访问行为控制方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101326503A (zh) * | 2005-12-15 | 2008-12-17 | 网星株式会社 | 页面访问监视方法及其程序 |
CN101399843A (zh) * | 2007-09-27 | 2009-04-01 | 中兴通讯股份有限公司 | 报文深度过滤方法 |
US20090165115A1 (en) * | 2007-12-25 | 2009-06-25 | Hitachi, Ltd | Service providing system, gateway, and server |
-
2010
- 2010-03-03 CN CN 201010117659 patent/CN101808088A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101326503A (zh) * | 2005-12-15 | 2008-12-17 | 网星株式会社 | 页面访问监视方法及其程序 |
CN101399843A (zh) * | 2007-09-27 | 2009-04-01 | 中兴通讯股份有限公司 | 报文深度过滤方法 |
US20090165115A1 (en) * | 2007-12-25 | 2009-06-25 | Hitachi, Ltd | Service providing system, gateway, and server |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291433A (zh) * | 2011-07-06 | 2011-12-21 | 杭州迪普科技有限公司 | 一种bbs报文的审计方法及装置 |
CN103036910A (zh) * | 2013-01-05 | 2013-04-10 | 北京网康科技有限公司 | 一种用户Web访问行为控制方法及装置 |
CN103036910B (zh) * | 2013-01-05 | 2015-10-07 | 北京网康科技有限公司 | 一种用户Web访问行为控制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102227725B (zh) | 用于匹配实体的系统和方法 | |
US9514202B2 (en) | Information processing apparatus, information processing method, program for information processing apparatus and recording medium | |
US8095547B2 (en) | Method and apparatus for detecting spam user created content | |
CN103685308A (zh) | 一种钓鱼网页的检测方法及系统、客户端、服务器 | |
US11537642B2 (en) | Method and system for providing a user agent string database | |
CN101957844B (zh) | 一种在线应用系统及其实现方法 | |
CN103685307A (zh) | 基于特征库检测钓鱼欺诈网页的方法及系统、客户端、服务器 | |
CN102105879A (zh) | 联合团体搜索 | |
JP2018063694A (ja) | Webページの悪意のある要素を検出するシステム及び方法 | |
CN103493045A (zh) | 对在线问题的自动回答 | |
US20090171986A1 (en) | Techniques for constructing sitemap or hierarchical organization of webpages of a website using decision trees | |
CN102185762B (zh) | 用户数据发送行为的识别与提取方法 | |
CN102790762A (zh) | 基于url分类的钓鱼网站检测方法 | |
CN109729044B (zh) | 一种通用的互联网数据采集反反爬系统及方法 | |
CN102638448A (zh) | 一种基于非内容分析的判断钓鱼网站的方法 | |
CN102647408A (zh) | 一种基于内容分析的判断钓鱼网站的方法 | |
CN101977194A (zh) | 一种第三方验证码系统及第三方验证码提供方法 | |
CN101968799B (zh) | 一种基于搜索引擎的用户交互方法及系统 | |
CN104168293A (zh) | 结合本地内容规则库识别可疑钓鱼网页的方法及系统 | |
US11431749B2 (en) | Method and computing device for generating indication of malicious web resources | |
CN104158828A (zh) | 基于云端内容规则库识别可疑钓鱼网页的方法及系统 | |
US20130179421A1 (en) | System and Method for Collecting URL Information Using Retrieval Service of Social Network Service | |
US20130212082A1 (en) | Online application system and method for implementing the same | |
WO2020082763A1 (zh) | 基于决策树的钓鱼网站检测方法、装置及计算机设备 | |
JP2018041442A (ja) | Webページの異常要素を検出するためのシステム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100818 |