统一资源定位符URL的过滤方法及装置
本申请要求于2011年12月31日提交中国专利局、申请号为201110459686.7、发明名称为“统一资源定位符URL的过滤方法、装置及网关”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及数据通信领域,更具体的说,是涉及统一资源定位符URL的过滤方法及装置。
背景技术
URL(Uniform Resource Locator统一资源定位符)过滤技术现已广泛的应用到通信领域中,成为应用内容安全领域中一种成熟的技术。该技术能够基于网页所属类别的不同,根据用户的需要过滤掉设定类别的网页,例如过滤掉新闻类的网页。
具备URL过滤功能的安全设备在检测到有连接请求时,根据此连接请求要求连接的URL,通过远程查询分类服务器来获取此URL所属的类别,然后缓存在本地存储器中。现有技术中,如果已获取一个URL所属的类别,当用户在缓存的老化时间内再次访问所述URL时,就可以根据缓存的所述URL所属的类别直接执行过滤工作;而在缓存超过老化时间后,则需要再次进行远程查询以获得所述URL所属的类别。
然而在实际情况中,很多网页包含的内容是动态的,也就是说,请求访问的网页在不同的时间段内,其具体内容、所属的类别可能都是不同的,而此时如果分类服务器没有及时发现网页内容的变化,或分类服务器已经更新,但安全设备中缓存的URL所属的类别还处于老化时间内,就使得URL所属的类别不能够得到及时的更新,这种情况下,一些原本应该被过滤掉的一些URL连接请求很可能就会被放行,使得URL分类识别不准确,进而无法准确实现过滤功能。
发明内容
有鉴于此,本发明实施例提供了一种统一资源定位符URL的过滤方法及装置,以克服现有技术中由于分类服务器可能不能及时更新而导致的无法准确过滤URL的问题。
为实现上述目的,本发明提供如下技术方案:
一种统一资源定位符URL的过滤方法,包括:
接收客户端发起的URL连接请求;
从预存的类别信息表中的每个URL对应的网页类别中,查找到所述URL连接请求中携带的URL对应的第一类别;
判断所述第一类别是否符合预设的URL通行策略,所述URL通行策略中包含允许通过的网页类别;
若符合,则将所述URL连接请求发往与其对应的服务器,并接收所述服务器返回的网页内容;
根据所述网页内容,确定所述URL对应的第二类别,判断所述第二类别是否符合所述预设的URL通行策略;若第二类别符合所述预设的URL通行策略,将所述网页内容发往所述客户端;否则,阻断所述网页内容。
一种统一资源定位符URL的过滤装置,包括:
请求接收模块,用于接收客户端发起的URL连接请求;
第一类别获取模块,用于从预存的类别信息表中的每个URL对应的网页类别中,查找到所述URL连接请求中携带的URL对应的第一类别;
通行判断模块,用于判断所述第一类别是否符合预设的URL通行策略,所述URL通行策略中包含允许通过的网页类别;
请求发送模块,用于在所述通行判断模块的判断结果为是时,将所述URL连接请求发往与其对应的服务器,并接收所述服务器返回的网页内容;
类别判断模块,用于根据所述网页内容,确定所述URL对应的第二类别,判断所述第二类别是否符合所述预设的URL通行策略;
内容返回模块,用于在所述类别判断模块的判断结果为是时,将所述网页内容发往客户端;
阻断模块,用于在所述类别判断模块的判断结果为否时,阻断所述网页内容。
本发明实施例公开了一种URL的过滤方法和装置,该方法能够从预存的类别信息表中查找到URL连接请求中携带的URL对应的第一类别,在所述URL连接请求符合预设的URL通行策略的情况下将所述URL连接请求转发至相应的服务器,并根据所述服务器返回的网页内容确定所述URL对应的第二类别,再判断第二类别是否符合预设的URL通行策略,如果第二类别符合所述预设的URL通行策略,将所述网页内容发往所述客户端;否则,阻断所述网页内容。上述URL过滤方法和装置,能够实时确定URL所属的类别,保证在网页内容发生变化或类别更新不及时的情况下,依然能够对放行的,但实际上应该阻断的URL连接请求及时阻断,实现准确分类过滤的功能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的URL第一过滤方法流程图;
图2为本发明实施例公开的确定网页内容第二类别的流程图;
图3a为本发明实施例公开的URL第二过滤方法流程图;
图3b为本发明实施例公开的URL第三过滤方法流程图;
图4为本发明实施例公开的URL过滤装置的结构示意图;
图5为本发明实施例公开的第一类别获取模块的结构示意图;
图6为本发明实施例公开的类别判断模块的结构示意图;
图7为本发明实施例公开的第二种URL过滤装置的结构示意图;
图8为本发明实施例公开的第三种URL过滤装置的结构示意图;
图9为本发明实施例公开的网关结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例公开的URL第一过滤方法流程图,参见图1所示,所述URL过滤方法可以包括:
步骤101:接收客户端发起的URL连接请求;
步骤102:从预存的类别信息表中的每个URL对应的网页类别中,查找到所述URL连接请求中携带的URL对应的第一类别;
可选地,所述预存的类别信息表可以是本地缓存的或远程分类服务器上预存的,当然,用户也可以将已经存在的所有URL对应的类别信息存储在本地,周期性的对其进行更新,在一定程度下满足URL连接请求过滤工作的需要;
预存的类别信息表的形式可以有多种,例如,可以采用记录表的形式,也可以采用文件的形式,当然,存储形式也并不仅仅局限于上述两种,只要是能够指示URL与网页类别对应关系的形式,就都可以被采用;
当然,如果本地缓存的类别信息表中没有所述URL连接请求中携带的URL对应的类别信息,或之前缓存的类别信息已过了老化时间,那么就需要从远程分类服务器获取预存的类别信息表缓存至本地,然后根据所述类别信息表中URL与网页类别的对应关系,查找出所述URL连接请求中携带的URL对应的第一类别;
步骤103:判断所述第一类别是否符合预设的URL通行策略,所述URL通行策略中包含允许通过的网页类别,如果是,进入步骤104;
所述URL通行策略规定了不被过滤的URL符合URL通行策略,被过滤出的URL不符合URL通行策略;在所述第一类别符合预设的URL通行策略时,进入步骤104执行相应的步骤,在所述第一类别不符合预设的URL通行策略时,阻断所述URL连接请求;
步骤104:将所述URL连接请求发往与其对应的服务器,并接收所述服务器返回的网页内容;
在所述URL连接请求所要求连接的URL所属的分类符合用户设定的通行策略时,相关装置就会将这个URL连接请求发送至对应的URL,URL在接收到这个连接请求时,就将所述连接请求要求访问的网页内容返回给相关装置;
步骤105:根据所述网页内容,确定所述URL对应的第二类别;
可选地,确定URL第二类别的具体方法流程可参见图2,图2为本发明实施例公开的确定网页内容第二类别的流程图,如图所示,确定网页内容第二类别的步骤具体可以包括:
步骤201:对所述网页内容进行解码,提取出所述网页内容的识别关键词;
这里提取出的识别关键词例如:明星、微博、短信等,当然也可以是一些敏感字符段,如非典型肺炎、美国总统等等;
步骤202:根据本地词库列表中存储的识别关键词与网页类别的对应关系,确定所述URL对应的第二类别为提取到的识别关键词对应的网页类别;
本地词库列表里对相关的一些关键词或敏感字符可以有如下分类:休闲娱乐类别对应的识别关键词包括:背景、qq空间、祝福短信、搞笑短信等;新闻类别对应的识别关键词包括:军事、财经、报道、报纸等;体育类别对应的识别关键词包括:街球、篮球、足球、航海、健美操等。如果步骤301提取出的数据内容中包括“足球”这一关键字,那么所述数据内容对应的URL的网页类别可能就被识别为体育类,而所述URL过滤方法的执行主体又规定体育类的URL是不允许访问的,那么包括所述数据内容的网页内容就会被阻断;
当然,根据网页内容来确定URL第二类别的方法不局限于上述流程,例如,从网页内容中提取语义关系,与预先存储的语义库中的语义关系模板进行匹配,将匹配中的语义关系模板对应的网页类别作为第二类别,也可以实现根据网页内容确定第二类别的目的。在这里不再一一列举根据网页内容确定第二类别的具体方式,只要是能够根据网页内容确定URL第二类别的方法,都应属于本发明的保护范围;
步骤106:判断所述第二类别是否符合所述预设的URL通行策略,如果是,进入步骤107,如果否,进入步骤108;
步骤107:将所述网页内容发往所述客户端;
在步骤106判断出的第二类别属于用户设定的通行策略中被允许通过的网页类别时,返回的网页内容即被返回客户端,为客户端正常提供服务;
步骤108:阻断所述网页内容;
在步骤106判断出的第二类别不属于用户设定的通行策略中被允许通过的网页类别时,就会直接被禁止通行,无法连接到对应的URL上,相关返回的网页内容就会被阻断。
本实施例中,所述方法能够从预存的类别信息表中查找到URL连接请求中携带的URL对应的第一类别,并将第一类别符合预设的URL通行策略的URL连接请求放行,转发至相应的服务器,并根据所述服务器返回的网页内容确定所述URL对应的第二类别,再判断第二类别是否符合预设的URL通行策略,若第二类别符合所述预设的URL通行策略,将所述网页内容发往客户端;否则,阻断所述网页内容。通过本发明公开的URL过滤方法,能够实时确定URL所属分类,保证在网页内容经常变化、或分类更新不及时的情况下,依然能够对放行的,但实际上应该阻断的URL连接请求及时阻断,实现准确分类过滤的功能,提高了URL过滤的准确性。
实施例二
图3a为本发明实施例公开的URL第二过滤方法流程图,参见图3a所示,所述URL过滤方法可以包括:
步骤301:接收客户端发起的URL连接请求;
步骤302:从预存的类别信息表中的每个URL对应的网页类别中,查找到所述URL连接请求中携带的URL对应的第一类别;
步骤303:判断所述第一类别是否符合预设的URL通行策略,如果是,进入步骤306,如果否,进入步骤304;
步骤304:阻断所述URL连接请求,进入步骤305;
步骤305:从已阻断的URL连接请求中,过滤得到其中带有预设标识的URL连接请求,进入步骤306;
因为在实际情况中,一些网页的内容是动态变化的,为了避免同一个URL在某个时间前所属的类别不符合URL通行策略,而某个时间后实际所属的类别符合URL通行策略,且所述URL的分类又没有得到及时的更新,这样使得原本应被允许通过的URL连接请求被阻断的情况发生,用户可以采用本步骤所述的方法,所述预设标识可以为特定的关键词,也可以为某一个固定的连接地址、或者用户名等等;
步骤306:将所述URL连接请求发往与其对应的服务器,并接收所述服务器返回的网页内容;
步骤307:根据所述网页内容,确定所述URL对应的第二类别;
步骤308:判断所述第二类别是否符合预设的URL通行策略,如果是,进入步骤309,如果否,进入步骤310;
步骤309:将所述网页内容发往客户端,进入步骤311;
步骤310:阻断所述网页内容;
步骤311:将所述预存的类别信息表中所述URL连接请求中携带的URL对应的网页类别,更新为所述第二类别。
可选地,附图3a所示的流程也可以进行如下调整:将步骤305与步骤304的顺序互换,即在阻断一个URL连接请求之前,先判断所述URL连接请求中是否携带有预设标识,若时,再将该URL连接请求阻断,否则允许该URL连接请求通过,即将批处理的方式调整为实时处理,具体请参照附图3b所示:
步骤321,接收客户端发起的URL连接请求;
步骤322:从预存的类别信息表中的每个URL对应的网页类别中,查找到所述URL连接请求中携带的URL对应的第一类别;
步骤323:判断所述第一类别是否符合预设的URL通行策略,如果是,进入步骤326,如果否,进入步骤324;
步骤324,判断所述URL连接请求中是否携带有预设标识,若是进入步骤326,否则,进入步骤325;
步骤325,阻断所述URL连接请求;
步骤326:将所述URL连接请求发往与其对应的服务器,并接收所述服务器返回的网页内容;
步骤327:根据所述网页内容,确定所述URL对应的第二类别;
步骤328:判断所述第二类别是否符合预设的URL通行策略,如果是,进入步骤329,如果否,进入步骤330;
步骤329:将所述网页内容发往客户端,进入步骤331;
步骤330:阻断所述网页内容;
步骤331:将所述预存的类别信息表中所述URL连接请求中携带的URL对应的网页类别,更新为所述第二类别。
在通过本实施例公开的方法判断出返回的网页内容的第二类别符合预设的URL通行策略时,即可知本地缓存的或远程获取的分类服务器上的相关URL第一类别是不准确的,可以将本地缓存的URL对应的第一类别更新为根据网页内容判断出的第二类别,或给远程分类服务器发送URL分类变更请求,以使分类服务器能够根据所述URL分类变更请求做出相关后续动作。
本实施例中,所述URL过滤方法能够根据预存的URL第一类别判断客户端发起的URL连接请求是否符合预设的URL通行策略,在所述URL连接请求满足所述预设的URL过滤策略的情况下将所述URL连接请求转发至相应的服务器,并根据所述服务器返回的网页内容确定第二类别,并判断第二类别是否符合预设的URL通行策略,如果不符合,就会阻断所述返回的网页内容,且能够避免一些应当被放行,但由于分类更新不及时而被阻断的URL连接请求的情况。通过本发明公开的URL过滤方法,能够实时确定URL所属的分类,保证在分类更新不及时的情况下,依然能够对放行的,但实际上应该阻断的URL连接请求及时阻断,也能够对一些没有放行的,但是实际上应该被放行的URL连接请求及时放行,实现准确分类过滤的功能。
实施例三
图4为本发明实施例公开的URL过滤装置的结构示意图,参见图4所示。所述URL过滤装置40可以包括:
请求接收模块401,用于接收客户端发起的URL连接请求;
第一类别获取模块402,用于从预存的类别信息表中的每个URL对应的网页类别中,查找到所述URL连接请求中携带的URL对应的第一类别;
所述第一类别获取模块402的具体结构可以参见图5,如图所示,所述连接判断模块402具体可以包括:
信息表获取子模块4021,用于从远程分类服务器获取预存的类别信息表缓存至本地;
如果在本地缓存有URL连接请求对应的URL的类别信息表,那么就可以直接从本地缓存中获取类别信息表;
第一类别确定子模块4022,用于根据所述类别信息表中URL与网页类别的对应关系,查找出所述URL连接请求中携带的URL对应的第一类别;
通行判断模块403,用于判断所述第一类别是否符合预设的URL通行策略,所述URL通行策略中包含允许通过的网页类别;
请求发送模块404,用于在所述通行判断模块403的判断结果为是时,将所述URL连接请求发往与其对应的服务器,并接收所述服务器返回的网页内容;
类别判断模块405,用于根据所述网页内容,确定所述URL对应的第二类别,判断所述第二类别是否符合所述预设的URL通行策略;
所述类别判断模块405具体结构可以参见图6,如图所示,可以包括:
网页解码子模块4051,用于对所述网页内容进行解码,提取出所述网页内容的识别关键词;
第二类别确定子模块4052,用于根据本地词库列表中存储的识别关键词与网页类别的对应关系,确定所述URL对应的第二类别为提取到的识别关键词对应的网页类别;
类别判断子模块4053,用于判断所述第二类别确定子模块4052识别出的第二类别是否符合URL通行策略;
内容返回模块406,用于在所述类别判断模块的判断结果为是时,将所述网页内容发往客户端;
阻断模块407,用于在所述类别判断模块的判断结果为否时,阻断所述网页内容。
需要说明的是,本发明实施例的URL过滤装置,并不仅限于上述一种结构,比如,第一类别获取模块402和通行判断模块403可以为集成于一体的一个独立模块,完成URL连接请求的第一类别获取及判断所述第一类别是否符合预设的通行策略;再如,所述内容返回模块406和阻断模块407可以为一个模块。
在其他的实施例中,URL过滤装置还可以包括分类更新模块,用于在类别判断模块405判断出识别分类不符合所述预设的URL通行策略的情况下,将所述本地缓存的类别信息表中所述URL连接请求中携带的URL对应的网页类别,更新为所述第二类别。
进一步地,参见图7,在其他的实施例中,所述阻断模块407还用于在所述通行判断模块403判断出所述第一类别不符合预设的URL通行策略的情况下,阻断所述URL连接请求;
URL过滤装置还可以包括标识过滤模701,用于从阻断的URL连接请求中,过滤得到带有预设标识的URL连接请求;并触发所述请求发送模块404将所述URL连接请求发往与其对应的服务器,并接收所述服务器返回的网页内容;所述类别判断模块405根据所述网页内容,确定所述URL对应的第二类别,判断所述第二类别是否符合所述预设的URL通行策略;若识别分类符合所述预设的URL通行策略,所述内容返回模块406将所述网页内容发往所述客户端;否则,所述阻断模块407阻断所述网页内容。
进一步地,参见图8,在其他实施例中,URL过滤装置还可以包括标识判决模块702,用于在通行判断模块403的判断结果为否时,判断所述URL连接请求中是否带有预设标识;若带有预设标识,则触发所述请求发送模块404将所述URL连接请求发往与其对应的服务器,并接收所述服务器返回的网页内容;所述类别判断模块405根据所述网页内容,确定所述URL对应的第二类别,判断所述第二类别是否符合所述预设的URL通行策略;若识别分类符合所述预设的URL通行策略,所述内容返回模块406将所述网页内容发往所述客户端;否则,触发阻断模块407阻断所述网页内容;
若未带有预设标识,则触发阻断模块407阻断所述URL连接请求。
本实施例中,所述装置能够从预存的类别信息表中查找到URL连接请求对应的第一类别,并将第一类别符合预设的URL通行策略的URL连接请求放行,转发至相应的服务器,并根据所述服务器返回的网页内容确定所述URL对应的第二类别,再判断第二类别是否符合预设的URL通行策略,若第二类别符合所述预设的URL通行策略,将所述网页内容发往客户端;否则,阻断所述网页内容。通过本发明公开的URL过滤装置,能够实时确定URL所属分类,保证在分类更新不及时的情况下,依然能够对放行的,但实际上应该阻断的URL连接请求及时阻断,实现准确分类过滤的功能。
此外,本发明实施例还公开一种网关,如图9所示,该网关90包含本发明实施例公开的URL过滤装置40,首先能够接收客户端发起的URL连接请求;然后根据获取的URL第一类别判断所述URL连接请求是否符合预设的URL通行策略;如果是:将所述URL连接请求发往与其对应的服务器,并接收所述服务器返回的网页内容;再确定所述网页内容的第二类别,判断所述第二类别是否符合预设的URL通行策略;如果是:将所述返回的网页内容发往客户端;如果否:阻断所述返回的网页内容,所述网关能够实时确定URL所属的分类,保证在分类更新不及时的情况下,依然能够对放行的,但实际上应该阻断的URL连接请求及时阻断,实现准确分类过滤的功能。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。