访问控制的方法和装置的制造方法

文档序号:10626888阅读:405来源:国知局
访问控制的方法和装置的制造方法
【专利摘要】本发明提供一种访问控制的方法和装置,所述方法包括:接收客户端设备发送的HTTP请求报文;当确定所述HTTP请求报文携带的Referer字段和Host字段中的至少一个字段合法时,转发所述HTTP请求报文。应用本发明实施例,对HTTP请求报文携带的Referer字段和Host字段的合法性进行判断,当两个字段中至少一个字段合法时,转发HTTP请求报文,以使客户端设备可以正常访问相应的网站,因此,可以最大程度的避免将合法网站误判为非法网站,降低网站过滤的误报率,以使客户端设备能够正常访问合法网站,提高用户体验。
【专利说明】
访问控制的方法和装置
技术领域
[0001]本发明涉及计算机技术领域,尤其涉及一种访问控制的方法和装置。
【背景技术】
[0002]随着网络技术的不断发展,使因特网也变得鱼龙混杂,存在着大量不健康或者反动的非法网站,过滤非法网站、有效管理对因特网的访问成为人们健康上网的关键。目前,URL (Uniform Resource Locator,统一资源定位符)过滤技术是一种常用的因特网数据过滤方法,可以根据URL地址对数据包进行过滤,进而可以有效地过滤非法网站。
[0003]然而,现有的URL过滤技术能够过滤非法网站,但也会将合法的网站误判为非法网站,导致用户无法访问这些合法网站,而降低用户体验。

【发明内容】

[0004]有鉴于此,本发明提供一种访问控制的方法和装置,以避免将合法网站误判为非法网站的问题,确保用户正常访问合法的网站,提高用户体验。
[0005]具体地,本发明是通过如下技术方案实现的:
[0006]本发明的一方面,提供一种访问控制的方法,所述方法包括:
[0007]接收客户端设备发送的HTTP请求报文;
[0008]当确定所述HTTP请求报文携带的Referer字段和Host字段中的至少一个字段合法时,转发所述HTTP请求报文。
[0009]本发明的另一方面,提供一种访问控制的装置,所述装置包括:
[0010]报文接收单元,用于接收客户端设备发送的HTTP请求报文;
[0011]报文处理单元,用于当确定所述HTTP请求报文携带的Referer字段和Host字段中的至少一个字段合法时,转发所述HTTP请求报文。
[0012]应用本发明实施例,对HTTP请求报文携带的Referer字段和Host字段的合法性进行判断,当两个字段中至少一个字段合法时,转发HTTP请求报文,以使客户端设备可以正常访问相应的网站,因此,可以最大程度的避免将合法网站误判为非法网站,降低网站过滤的误报率,以使客户端设备能够正常访问合法网站,提高用户体验。
【附图说明】
[0013]图1是本发明一示例性实施例示出的一种访问控制的方法的流程图;
[0014]图2是本发明一示例性实施例示出的另一种访问控制的方法的流程图;
[0015]图3是本发明一示例性实施例示出的访问控制的装置所在设备的一硬件结构图;
[0016]图4是本发明一示例性实施例示出的一种访问控制的装置的结构框图;
[0017]图5是本发明一示例性实施例示出的另一种访问控制的装置的结构框图;
[0018]图6是本发明一示例性实施例示出的另一种访问控制的装置的结构框图;
[0019]图7是本发明一示例性实施例示出的另一种访问控制的装置的结构框图。
【具体实施方式】
[0020]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0021]在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0022]应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0023]HTTP (Hypertext Transfer Protocol,超文本传送协议)请求报文由请求行、请求头部、空行和请求数据4个部分组成,其中,请求头部可以包括Host字段和Referer字段,Host字段的字段值对是客户端设备要访问的网站的域名或IP地址,所述Host字段的字段值对还可能会包括端口号等信息。Referer字段的字段值对也可以是网站的域名或IP地址,表示从哪里链接到当前的网站,即根据Referer字段可以检查当前的网站的链接是从哪里而来。例如,在百度中搜索搜狐,可以点击搜索结果页面中的“搜狐首页”链接,以访问搜狐网站,在访问搜狐网站的过程中,客户端设备发送的HTTP请求报文的携带的Host字段值对为:www.sohu.com,以及HTTP请求报文的携带的Referer字段值对为:http://www.baidu.com/s ? tn = baidusite&word =搜狐,由所述Referer字段值对可以看出,用户是从百度网站中链接到搜狐网站。
[0024]相关技术中,在根据URL对HTTP请求报文进行过滤时,是判断Host字段的字段值对是否命中白名单,如果命中白名单,则可以确定Host字段合法,但如果不能命中白名单,则确定Host字段不合法,丢弃所述HTTP请求报文,从而使得用户无法访问对应网站。然而,就上述方法而言,白名单中的字段值对的数据量是有限的,如果在白名单中没有包括某些合法网站的URL或者IP地址等信息,则在用户访问这些合法网站时,由于HTTP请求报文的Host字段不能命中白名单,网络设备会将该合法网站错误地判定为非法网站,进而丢弃所述HTTP请求报文,导致用户无法对该合法网站进行访问,降低用户体验。
[0025]在本发明实施例中,用户在访问某网站时,用户所使用的客户端设备会先发送HTTP请求报文,位于客户端设备与网站服务器之间的网络设备(例如,防火墙)在接收到HTTP请求报文后,对所述HTTP请求报文进行分析,当网络设备确定HTTP请求报文携带的Referer字段和Host字段中的至少一个字段合法时,可以确认用户要访问的网站是合法网站,转发该HTTP请求报文,应用本发明实施例,只有在Referer字段和Host字段都不合法时,才丢弃该HTTP请求报文,从而可以最大程度的避免将合法网站误判为非法网站,以使客户端设备能够正常访问合法网站。
[0026]下面结合附图对本发明提供的访问控制的方法和装置进行说明。
[0027]图1是本发明一示例性实施例示出的一种访问控制的方法的流程图。
[0028]参照图1,一种访问控制的方法,所述方法包括如下步骤:
[0029]步骤S101,接收客户端设备发送的HTTP请求报文。
[0030]步骤S102,判断HTTP请求报文的Host字段是否合法,如果不合法,执行步骤S103,如果合法,执行步骤S105。
[0031]Host字段为HTTP请求报文的请求头部的字段,在本步骤中,从所述HTTP请求报文头部的Host字段中提取出字段值对,以所述字段值对为URL为例,可以提取出客户端设备要访问的网站的URL,比如:Host:www.sohu.com,然后根据字段值对判断Host字段是否合法。根据本发明的优选实施例,可以通过判断Host字段的字段值对是否命中白名单,以确定Host字段是否合法,具体来说,如果命中,则确定Host字段合法,执行步骤S105,反之,则确定Host字段不合法,执行步骤S103,其中,白名单可以为大量的合法的网站域名、IP地址或者域名/IP地址加端口号等信息的集合。例如,假设HTTP请求报文的Host字段的字段值对为WWW.sohu.com,根据www.sohu.com查找白名单,如果命中白名单,则可以确定该Host字段合法。
[0032]步骤S103,判断HTTP请求报文是否有Referer字段,如果有,执行步骤S104,如果没有,执行步骤S106。
[0033]Referer字段为HTTP请求报文的请求头部的字段,根据Referer字段可以检查当前的网站的链接是从哪里而来。在本步骤中,如果确定HTTP请求报文中有Referer字段,则执行步骤S104,反之,如果没有,则执行步骤S106。
[0034]步骤S104,判断HTTP请求报文的Referer字段是否合法,如果合法,执行步骤S105,如果不合法,执行步骤S106。
[0035]根据本发明的优选实施例,在步骤S103确定在HTTP请求报文中包含有Referer字段,则从所述HTTP请求报文头部的Ref erer字段中提取出字段值对,比如:可以从Referer字段中提取出URL。在本步骤中,可以根据该字段值对判断Referer字段是否合法,优选地,可以通过判断Referer字段的字段值对是否命中白名单,以确定Referer字段是否合法,具体而言,如果命中,则确定Referer字段合法,执行步骤S105。如果没有命中,则确定所述Referer字段不合法,执行步骤S106。本步骤中判断Referer字段是否合法与步骤S102判断Host字段是否合法可以使用同一白名单。
[0036]步骤S105,转发HTTP请求报文,结束本实施例流程。
[0037]步骤S106,丢弃HTTP请求报文,结束本实施例流程。
[0038]为了使本发明的技术方案描述的更清楚、易懂,下面通过应用本发明技术方案的示例进一步描述说明。
[0039]假设从百度中搜索腾讯,并点击搜索结果页面的“腾讯首页”进行访问,客户端设备将向服务器发送HTTP请求报文,该HTTP请求报文包括如下两个字段:
[0040]Host:http://www.qq.com/
[0041 ] Referer:http://www.baidu.com/s ? wd =腾讯 &ie = utf-8
[0042] 上述字段可以表示客户端设备要访问的目标网站的域名为http://www.qq.com/,
且是从 http://www.baidu.com/s ? wd =腾讯 &ie = utf-8 链接到 http://www.qq.com/这一网站的。
[0043]再假设白名单包括百度域名信息(例如,http://www.baidu.com/),而没有包括腾讯域名信息,如果采用现有的URL过滤技术,只判断Host字段的字段值对是否命中白名单,用户将不能访问腾讯首页(即http://WWW.qq.com/),降低了用户体验,根据本发明实施例,如果确定Host字段的字段值对没有命中白名单,将判断Referer字段的字段值对是否命中,由于在白名单中包括百度域名信息,Referer字段的字段值对能够命中白名单,将HTTP请求报文转发给服务器,以使用户能够访问腾讯首页。
[0044]需要说明的是,HTTP请求报文包括但不限于Host字段和Referer字段,还包括其他字段,例如,Accept字段,用于表示浏览器可以接受的MHffi类型,具体可以参见HTTP请求报文的相关技术内容,在此不再--赘述。
[0045]图2是本发明一示例性实施例示出的另一种访问控制的方法的流程图。
[0046]参见图2,一种访问控制的方法,所述方法包括如下步骤:
[0047]步骤S201,接收客户端设备发送的HTTP请求报文。
[0048]步骤S202,判断HTTP请求报文是否有Referer字段,如果有,执行步骤S203,如果没有,执行步骤S204。
[0049]步骤S203,判断HTTP请求报文的Referer字段是否合法,如果不合法,执行步骤S204,如果合法,执行步骤S206。
[0050]在步骤S202中确定HTTP请求报文中有Referer字段,则从HTTP请求报文头部的Referer字段提取出字段值对,比如:可以从Referer字段中提取出URL。在本步骤中,可以根据该字段值对判断Referer字段是否合法,具体可以参见图1所示的步骤S104的实现方法,在此不再赘述。
[0051]步骤S204,判断HTTP请求报文的Host字段是否合法,如果不合法,执行步骤S205,如果合法,执行步骤S206。
[0052]Host字段为HTTP请求报文的请求头部的字段,在本步骤中,从所述HTTP请求报文头部的Host字段中提取出字段值对,以所述字段值对为URL为例,可以提取出客户端设备要访问的网站的URL。在本发明实施例中,对Host字段是否合法的判断方法可以参见图1所示的步骤S102的实现方法,在此不再赘述。
[0053]步骤S205,丢弃HTTP请求报文,结束本实施例流程。
[0054]步骤S206,转发HTTP请求报文,结束本实施例流程。
[0055]综上可以看出,与图1所示的实施例不同的是,图2所示的实施例先判断HTTP请求报文的Referer字段是否合法,如果Referer字段不合法,再判断HTTP请求报文的Host字段是否合法。无论哪一个实施例,当确定HTTP请求报文的Referer字段和Host字段中的至少一个字段合法时,转发所述HTTP请求报文。
[0056]根据本发明一可选实施例,当确定HTTP请求报文携带的Referer字段和Host字段都不合法时,将丢弃该HTTP请求报文。
[0057]应用上述实施例,对HTTP请求报文携带的Referer字段和Host字段进行分析,当确定Referer字段和Host字段中的至少一个字段合法时,转发HTTP请求报文,否则,丢弃HTTP请求报文。因此,可以最大程度的避免将合法网站误判为非法网站的问题,降低网站过滤的误报率,以使客户端设备能够正常访问合法网站,提高用户体验。
[0058]与前述访问控制的方法的实施例相对应,本发明还提供了访问控制的装置的实施例。
[0059]本发明访问控制的装置的实施例可以应用在网络设备上,例如,防火墙。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明一示例性实施例示出的访问控制的装置所在设备的一硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中访问控制的装置400所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
[0060]图4是本发明一示例性实施例示出的一种访问控制的装置的结构框图。
[0061]参见图4,一种访问控制的装置400,所述装置包括:报文接收单元410和报文处理单元420,其中,报文处理单元420可以包括第一判断子单元421和第二判断子单元422。
[0062]报文接收单元410用于接收客户端设备发送的HTTP请求报文。
[0063]报文处理单元420用于当确定HTTP请求报文携带的Referer字段和Host字段中的至少一个字段合法时,转发HTTP请求报文。
[0064]根据本发明一优选实施例,第一判断子单元421用于判断Host字段是否合法,第二判断子单元422用于在第一判断子单元421确定Host字段不合法时,判断Referer字段是否合法。
[0065]根据本发明的一可选实施例,本发明提供的访问控制的装置400还包括:报文丢弃单元430,用于当确定HTTP请求报文携带的Referer字段和Host字段都不合法时,丢弃HTTP请求报文。
[0066]图5是本发明一示例性实施例示出的另一种访问控制的装置的结构框图,参见图5,第一判断子单元421还可以包括第一判断模块4211和第一确定模块4212,其中,第一判断模块4211用于判断Host字段的字段值对是否命中白名单,第一确定模块4212用于在Host字段的字段值对命中白名单时,确定Host字段合法,在Host字段的字段值对没有命中白名单时,确定Host字段不合法。
[0067]图6是本发明一示例性实施例示出的另一种访问控制的装置的结构框图,参见图6,第二判断子单元422还可以包括第二判断模块4221和第二确定模块4222,其中,第二判断模块4221用于判断Referer字段的字段值对是否命中白名单,第二确定模块4222用于在Referer字段的字段值对命中白名单时,确定Referer字段合法,在Referer字段的字段值对没有命中白名单时,确定Referer字段不合法。
[0068]图7是本发明一示例性实施例示出的另一种访问控制的装置的结构框图。
[0069]参见图7,一种访问控制的装置400,所述装置包括:报文接收单元410、报文处理单元420和报文丢弃单元430,其中,报文处理单元420可以包括第三判断子单元423和第四判断子单元424。
[0070]报文接收单元410、报文处理单元420和报文丢弃单元430的功能和作用的实现过程可以参见图4所示实施例中对应单元的功能和作用的实现过程,在此不再赘述。
[0071]第三判断子单元423用于判断Referer字段是否合法,第四判断单元424用于在第三判断子单元423确定Referer字段不合法时,判断Host字段是否合法。其中,第三判断子单元423和第四判断单元424的功能和作用的实现过程可以参见前述第一判断子单元421和第二判断子单元422的实现过程,在此不再赘述。
[0072]上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0073]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0074]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1.一种访问控制的方法,其特征在于,所述方法包括: 接收客户端设备发送的HTTP请求报文; 当确定所述HTTP请求报文携带的Referer字段和Host字段中的至少一个字段合法时,转发所述HTTP请求报文。2.根据权利要求1所述的方法,其特征在于,确定所述Referer字段和Host字段是否合法的过程包括: 判断所述Host字段是否合法; 如果Host字段不合法,则判断所述Referer字段是否合法。3.根据权利要求1所述的方法,其特征在于,确定所述Referer字段和Host字段是否合法的过程包括: 判断所述Referer字段是否合法; 如果Referer字段不合法,则判断所述Host字段是否合法。4.根据权利要求2或3所述的方法,其特征在于, 所述判断所述Host字段是否合法包括: 判断所述Host字段的字段值对是否命中白名单; 如果命中,则确定所述Host字段合法;如果没有命中,则确定所述Host字段不合法;以及 所述判断所述Referer字段是否合法包括: 判断所述Referer字段的字段值对是否命中所述白名单; 如果命中,则确定所述Referer字段合法;如果没有命中,则确定所述Referer字段不合法。5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 当确定所述HTTP请求报文携带的Referer字段和Host字段都不合法时,丢弃所述HTTP请求报文。6.一种访问控制的装置,其特征在于,所述装置包括: 报文接收单元,用于接收客户端设备发送的HTTP请求报文; 报文处理单元,用于当确定所述HTTP请求报文携带的Referer字段和Host字段中的至少一个字段合法时,转发所述HTTP请求报文。7.根据权利要求6所述的装置,其特征在于,所述报文处理单元包括: 第一判断子单元,用于判断所述Host字段是否合法; 第二判断子单元,用于在Host字段不合法时,判断所述Referer字段是否合法。8.根据权利要求6所述的装置,其特征在于,所述报文处理单元包括: 第三判断子单元,用于判断所述Referer字段是否合法; 第四判断子单元,用于在Referer字段不合法时,判断所述Host字段是否合法。9.根据权利要求7所述的装置,其特征在于, 所述第一判断子单元包括: 第一判断模块,用于判断所述Host字段的字段值对是否命中白名单; 第一确定模块,用于在所述Host字段的字段值对命中所述白名单时,确定所述Host字段合法;在所述Host字段的字段值对没有命中所述白名单时,确定所述Host字段不合法; 以及 所述第二判断子单元包括: 第二判断模块,用于判断所述Referer字段的字段值对是否命中所述白名单; 第二确定模块,用于在所述Referer字段的字段值对命中所述白名单时,确定所述Referer字段合法;在所述Referer字段的字段值对没有命中所述白名单时,确定所述Referer字段不合法。10.根据权利要求6所述的装置,其特征在于,所述装置还包括: 报文丢弃单元,用于当确定所述HTTP请求报文携带的Referer字段和Host字段都不合法时,丢弃所述HTTP请求报文。
【文档编号】H04L29/08GK105991634SQ201510218061
【公开日】2016年10月5日
【申请日】2015年4月29日
【发明人】王奇
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1