一种基于布隆滤波器查询优化的防盗链方法和系统技术方案

技术编号:13583092 阅读:53 留言:0更新日期:2016-08-24 09:48
本公开属于网络数据传输技术领域,具体为一种基于布隆滤波器查询优化的防盗链方法,包括:S1,将库文件多个特征码的关键字,分别通过hash函数计算形成多个哈希表;S2,提取客户端URL请求中特征码,根据所述特征码中关键字进行hash函数计算得到计算结果;S3,将所述计算结果与对应特征码的哈希表进行匹配,根据匹配结果判断是否为盗链。本公开一种基于布隆滤波器查询优化的防盗链系统包括哈希表形成模块、计算结果获取模块和匹配模块。本公开采用布隆滤波器对库文件和客户端URL请求中特征码进行处理,实现客户端URL请求中特征码是否在库文件中的快速判断,从而快速实现对盗链的判断,提高服务器对盗链的处理效率。

【技术实现步骤摘要】

本公开涉及网络数据传输
,尤其涉及一种基于布隆滤波器查询优化的防盗链方法和系统
技术介绍
随着多媒体技术及网络技术的发展,盗链问题也日趋严重,尤其是视频的盗链。而制作一个视频的成本通常较高,视频的盗链将给提供视频的公司带来巨大的损失。现有的媒体文件的防盗链方法中,在门户网站提供URL加密的功能,使得用户根据一般网络链接打不开对应的资源,起到了较好的防盗链效果。但现有方法安全性不高,例如是在原始的URL后面直接添加附加字段来构成新的访问地址,仍暴露了原始的URL地址,安全性较低,难以真正达到防止盗链的目的。
技术实现思路
本公开的目的是提供一种基于布隆滤波器查询优化的防盗链方法和系统,通过将库文件非法特征码URL请求中相应关键字进行hash函数计算形成哈希表,再将客户端URL请求中特征码的关键字进行hash函数计算,将所述计算结果与哈希表匹配,若全部计算结果匹配成功则为盗链,再对该URL请求进行清除,实现对非法链接的判断和禁止访问。根据本公开的一个方面,一种基于特征码查询优化的防盗链方法,包括:S1,将库文件多个特征码的关键字,分别通过hash函数计算形成多个哈
希表;S2,提取客户端URL请求中特征码,根据所述特征码中关键字进行hash函数计算得到计算结果;S3,将所述计算结果与对应特征码的哈希表进行匹配,根据匹配结果判断是否为盗链。优选的,所述库文件内存储多条非法URL请求的特征码。优选的,所述hash函数为8个。优选的,所述S3包括:将所述计算结果作为地址查找在哈希表中的位,若该位的值为1,则匹配成功,则回到S2或者判断该URL请求为盗链,退出匹配;若该位的值为0,则匹配不成功,则判断该URL请求为合法请求,退出匹配。优选的,所述回到S2或者判断该URL请求为盗链包括:若存在下一个特征码,则选取下一条特征码返回到S2;若不存在下一条特征码,则判断所述URL请求为盗链。根据本公开另一个方面,一种基于布隆滤波器查询优化的防盗链系统,包括:哈希表形成模块,将库文件多个特征码的关键字,分别通过hash函数计算形成多个哈希表;计算结果获取模块,提取客户端URL请求中特征码,根据所述特征码中关键字进行hash函数计算得到计算结果;匹配模块,将所述计算结果与对应特征码的哈希表进行匹配,根据匹配结果判断是否为盗链。优选的,所述库文件内存储多条非法URL请求的特征码。优选的,所述hash函数为8个。优选的,所述匹配模块包括:非合法请求判断模块,将所述计算结果作为地址查找在哈希表中的位,若该位的值为1,则匹配成功,回到计算结果获取模块或者判断该URL请求
为盗链并退出匹配;合法请求判断模块,将所述计算结果作为地址查找在哈希表中的位,若该位的值为0,则匹配不成功,则判断该URL请求为合法请求并退出匹配。优选的,所述非合法请求判断模块包括:返回模块,若存在下一个特征码,则选取下一条特征码返回到计算结果获取模块;盗链判断模块,若不存在下一条特征码,则判断所述URL请求为盗链,退出匹配。本公开通过利用布隆滤波器对库文件和客户端URL请求中特征码进行处理,形成哈希表和客户端URL请求中特征码的hash函数计算结果,通过所述计算结果与哈希表进行匹配,通过匹配结果判断URL请求是否为盗链,实现快速的对盗链的判断,提高服务器对盗链的处理效率。附图说明图1是根据本公开第一实施方式的方法流程图;图2是根据本公开第二实施方式的系统结构图;图3是根据本公开第三实施方式的系统结构图。具体实施方式为使本公开的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本公开进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。图1是根据本公开第一实施方式的方法流程图。如图1所示,本公开一种基于布隆滤波器查询优化的防盗链方法,包括:S1,将库文件多个特征码的关键字,分别通过hash函数计算形成多个哈希表;S2,提取客户端URL请求中特征码,根据所述特征码中关键字进行hash函数计算得到计算结果;S3,将所述计算结果与对应特征码的哈希表进行匹配,根据匹配结果判断是否为盗链。其中,在S1中,库文件为预先建立,所述库文件内存储多条非法URL请求的特征码,每个特征码包括多个关键字,所述多个关键字是从多条非法URL请求获取得到。hash函数是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数,hash函数为本领域所公知,在此不做具体赘述。在本实施例中,每个特征码对应一个哈希表,每个特征码的多个关键字,分别通过8个不同hash函数计算,每个hash函数计算得到的数值在相应位赋值为1,当所有关键字都处理计算完成,形成哈希表。库文件生成多个哈希表的作为一个预处理过程,可以预先完成。在S2中,客户端URL请求包括多个参数,从多个参数中选取出于盗链有关的特征码,这些特征码包括:客户端标识符,客户端用户名。如sign、cip、ip、itm等参数均可以选取为特征码。通过一个具体实施例来说明参数的选取原则,如客户端的URL请求:https://mail.qq.com/cgi-bin/frame_html?sid=md_AWdR1k8M7PnMl&r=aeb8ec25899b5e44646e87fc396fe2ed,在“?”之后为多个参数,每个参数通过“&”隔开,本例中,“sid”和“r”为参数,关键字分别为“md_AWdR1k8M7PnMl”和“aeb8ec25899b5e44646e87fc396fe2ed”。其中,客户端URL请求的每个特征码都具有对应的关键字,对每个特征码的关键字分别通过hash函数计算,该hash函数与生成哈希表所用到的hash函数相同,每个关键字通过hash函数计算后得到一个计算结果。其中,不同的关键字通过hash函数计算后得到的结果可能相同,但是概率极小,所以出现误判的概率极小。在本实施例中,所述S3包括:将所述计算结果作为地址查找在哈希表中的位,若该位的值为1,则匹配成功,则回到S2或者判断该URL请求为盗链,退出匹配;若该位的值为0,则匹配不成功,则判断该URL请求为合法请求,
退出匹配。其中,匹配成功表示,该关键字在库文件中的多个关键字中;匹配不成功,该关键字不在库文件中的多个关键字中。作为本公开专利技术优选的实施方式,其中,所述回到S2或者判断该URL请求为盗链包括:若存在下一个特征码,则选取下一条特征码返回到S2;若不存在下一条特征码,则判断所述URL请求为盗链。其中,所述特征码客户端URL请求中特征码。在本实施例中,S1执行一次后,S2和S3可重复执行。图2是根据本公开第二实施方式的系统结构图。在本实施例中,如图2所示,基于第一实施例的专利技术构思,一种基于布隆滤波器查询优化的防盗链系统包括:哈希表形成模块,将库文件多个特征码的关键字,分别通过hash函数计算形成多个哈希表;计算结果获取模块,提取客户端URL请求中特征码,根据所述特征码中关键字进行hash函数计算得到计算结果;匹配模块,将所述计算结果与对应特征码的哈希表进行匹配,根据匹配结果判断是否为盗链本文档来自技高网
...

【技术保护点】
一种基于布隆滤波器查询优化的防盗链方法,包括:S1,将库文件多个特征码的关键字,分别通过hash函数计算形成多个哈希表;S2,提取客户端URL请求中特征码,根据所述特征码中关键字进行hash函数计算得到计算结果;S3,将所述计算结果与对应特征码的哈希表进行匹配,根据匹配结果判断是否为盗链。

【技术特征摘要】
1.一种基于布隆滤波器查询优化的防盗链方法,包括:S1,将库文件多个特征码的关键字,分别通过hash函数计算形成多个哈希表;S2,提取客户端URL请求中特征码,根据所述特征码中关键字进行hash函数计算得到计算结果;S3,将所述计算结果与对应特征码的哈希表进行匹配,根据匹配结果判断是否为盗链。2.根据权利要求1所述的方法,其中,所述库文件内存储多条非法URL请求的特征码。3.根据权利要求1所述的方法,其中,所述hash函数为8个。4.根据权利要求1所述的方法,其中,所述S3包括:将所述计算结果作为地址查找在哈希表中的位,若该位的值为1,则匹配成功,则回到S2或者判断该URL请求为盗链,退出匹配;若该位的值为0,则匹配不成功,则判断该URL请求为合法请求,退出匹配。5.根据权利要求4所述的方法,其中,所述回到S2或者判断该URL请求为盗链包括:若存在下一个特征码,则选取下一条特征码返回到S2;若不存在下一条特征码,则判断所述URL请求为盗链。6.一种基于布隆滤波器查询优化的防盗链系统,其特征在于,包括:哈希表形成模块,将库...

【专利技术属性】
技术研发人员:李洪福
申请(专利权)人:乐视控股北京有限公司乐视云计算有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1