反爬虫方法和装置制造方法及图纸

技术编号:26970847 阅读:18 留言:0更新日期:2021-01-06 00:01
本发明专利技术公开了一种反爬虫方法和装置,涉及计算机技术领域。其中,该方法包括:基于第一密钥和第一加密算法对原始字体文件进行加密以得到目标字体文件;响应于客户端的数据获取请求,基于第二密钥和第二加密算法加密结果数据;其中,所述第二密钥为第一密钥的反向密钥,所述第二加密算法为第一加密算法的逆向加密算法;将加密后的结果数据和字体文件标识发送至所述客户端,以使所述客户端基于所述字体文件标识对应的目标字体文件展示所述加密后的结果数据。通过以上步骤,能够提高反爬虫的防御效果,提高爬虫程序的破解难度。

【技术实现步骤摘要】
反爬虫方法和装置
本专利技术涉及计算机
,尤其涉及一种反爬虫方法和装置。
技术介绍
爬虫技术起源于早期互联网流行的全文搜索引擎抓取网页数据的下载系统。在互联网中,各式各样的网页可以看作一个异常巨大的有向图,这个图的节点有上百亿个。抓取程序从其中一个节点开始按照深度优先和广度优先相结合的方式遍历网络,直观的看就像一个或者多个蜘蛛在网络上爬行。在互联网发展的早期,爬虫程序可以让网站被搜索引擎或者导航网站收录,不仅有助于的网站推广,而且也能使用户更快地找到想要获取的信息,对网站拥有者和用户双方都非常有益。进而,产生了网络爬虫排除协议(RobotsExclusionProtocol,REP)这样的君子协定。REP协议规定在站点根目录下使用robots.txt文件来定义哪些页面信息可以被爬虫程序采集,哪些页面信息不允许被采集。随着互联网和移动通讯技术的飞速发展,Web页面的载体从传统的PC端扩展到各种移动设备、甚至智能家电和其他物联网设备中。与此同时,爬虫的类型日益丰富,数量日益庞大,所采用的技术手段也越来越先进。目前,非法网络爬虫出于商业目的采集未被REP协议许可的网页信息,甚至是非法采集用户的敏感个人信息,已经成为不容忽视的问题。非法网络爬虫的危害主要有如下几点:第一,网络爬虫的大量访问请求会占用Web服务器内存和CPU资源,给服务器带来巨大的负荷,导致服务器性能下降,影响正常用户的体验;第二,大量的爬虫请求会大量消耗服务器的网络带宽,带来额外的网络费用,增加了企业的网络带宽成本;第三,影响搜索引擎对用户访问行为的挖掘,进而影响搜索引擎网站数据排名,干扰了网站内部的数据采集或者用户行为的监控系统,扰乱了网站内部监控系统的准确性,对用户数据的进一步挖掘也失去了意义。因此,对爬虫程序进行提前防御、识别出爬虫程序的访问请求,以及对来自爬虫程序的请求进行封禁、或者返回错误杂乱的信息干扰爬虫程序等各方面反爬虫手段的研究具有重大的现实意义。在实现本专利技术的过程中,本专利技术的专利技术人发现:在现有技术中,往往采取单一的反爬虫措施,比如从运维、后端、或者前端等方面单独采取措施来反制爬虫程序。由于这些措施是从单方面考虑的,缺乏联动和配合,导致爬虫程序也能轻易地破解这些措施。
技术实现思路
有鉴于此,本专利技术提供了一种反爬虫方法和装置,能够提高反爬虫的防御效果,提高爬虫程序的破解难度。为实现上述目的,根据本专利技术的第一个方面,提供了一种反爬虫方法。本专利技术的反爬虫方法包括:基于第一密钥和第一加密算法对原始字体文件进行加密以得到目标字体文件;响应于客户端的数据获取请求,基于第二密钥和第二加密算法加密结果数据;其中,所述第二密钥为第一密钥的反向密钥,所述第二加密算法为第一加密算法的逆向加密算法;将加密后的结果数据和字体文件标识发送至所述客户端,以使所述客户端基于所述字体文件标识对应的目标字体文件展示所述加密后的结果数据。可选地,所述方法还包括:在基于第一密钥和第一加密算法对原始字体文件进行加密以得到目标字体文件之前,通过伪随机数生成器生成所述第一密钥。可选地,所述方法还包括:在所述基于第二密钥和第二加密算法加密结果数据之前,获取第一密钥,对所述第一密钥的组成元素的顺序进行反向以得到所述第二密钥。可选地,所述第一加密算法为洗牌算法;所述基于第一密钥和第一加密算法对原始字体文件进行加密以得到目标字体文件包括:将原始字体文件解析成XML文件;基于第一密钥和所述洗牌算法对所述XML文件进行洗牌打乱;对洗牌打乱后的XML文件进行文件格式转换,以得到目标字体文件。可选地,基于第一密钥和所述洗牌算法对所述XML文件进行洗牌打乱包括:基于第一密钥和所述洗牌算法对不同字符子标签下的名称属性值进行互换;或者;基于第一密钥和所述洗牌算法对不同字形子标签下的名称属性值进行互换。可选地,所述基于第一密钥和第一加密算法对原始字体文件进行加密以得到目标字体文件还包括:对第一密钥进行哈希加密以得到消息摘要字符串,将所述消息摘要字符串作为所述目标字体文件的文件名后缀。可选地,所述方法还包括:在客户端基于所述字体文件标识对应的目标字体文件展示所述加密后的结果数据之前,查询浏览器缓存,以从所述浏览器缓存中获取所述字体文件标识对应的目标字体文件;如果从浏览器缓存中获取不到所述字体文件标识对应的目标字体文件,从预设的引用资源地址获取所述字体文件标识对应的目标字体文件。可选地,所述字体文件标识包括:对第一密钥进行哈希加密得到的消息摘要字符串。可选地,所述方法还包括:定时对第一密钥进行更新,基于更新后的第一密钥和第一加密算法对原始字体文件进行重新加密以实现目标字体文件的更新。可选地,所述目标字体文件为WOFF格式的字体文件。为实现上述目的,根据本专利技术的第二个方面,提供了一种另一种反爬虫方法。本专利技术的反爬虫方法包括:向服务端发送数据获取请求;接收所述服务端返回的加密后的结果数据和字体文件标识;其中,所述加密后的结果数据是服务端基于第二密钥和第二加密算法对结果数据进行加密得到的;获取所述字体文件标识对应的目标字体文件,并基于所述目标字体文件展示所述加密后的结果数据;其中,所述目标字体文件是服务端基于第一密钥和第一加密算法对原始字体文件进行加密得到的,所述第一密钥为第二密钥的反向密钥,所述第一加密算法为第二加密算法的逆向加密算法。为实现上述目的,根据本专利技术的第三个方面,提供了一种反爬虫装置。本专利技术的反爬虫装置包括:第一加密模块,用于基于第一密钥和第一加密算法对原始字体文件进行加密以得到目标字体文件;第二加密模块,用于响应于客户端的数据获取请求,基于第二密钥和第二加密算法加密结果数据;其中,所述第二密钥为第一密钥的反向密钥,所述第二加密算法为第一加密算法的逆向加密算法;发送模块,用于将加密后的结果数据和字体文件标识发送至所述客户端,以使所述客户端基于所述字体文件标识对应的目标字体文件展示所述加密后的结果数据。为实现上述目的,根据本专利技术的第四个方面,提供了另一种反爬虫装置。本专利技术的反爬虫装置包括:发送模块,用于向服务端发送数据获取请求;接收模块,用于接收所述服务端返回的加密后的结果数据和字体文件标识;其中,所述加密后的结果数据是服务端基于第二密钥和第二加密算法对结果数据进行加密得到的;展示模块,用于获取所述字体文件标识对应的目标字体文件,并基于所述目标字体文件展示所述加密后的结果数据;其中,所述目标字体文件是服务端基于第一密钥和第一加密算法对原始字体文件进行加密得到的,所述第一密钥为第二密钥的反向密钥,所述第一加密算法为第二加密算法的逆向加密算法。为实现上述目的,根据本专利技术的第五个方面,提供了一种电子设备。本专利技术的电子设备,包括:一个或多个处理器;以及,存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术的反爬虫方法。为实现上述目的,根据本专利技术的第四个方面,提供了一种计算机可读介质本文档来自技高网
...

【技术保护点】
1.一种反爬虫方法,其特征在于,所述方法包括:/n基于第一密钥和第一加密算法对原始字体文件进行加密以得到目标字体文件;/n响应于客户端的数据获取请求,基于第二密钥和第二加密算法加密结果数据;其中,所述第二密钥为第一密钥的反向密钥,所述第二加密算法为第一加密算法的逆向加密算法;/n将加密后的结果数据和字体文件标识发送至所述客户端,以使所述客户端基于所述字体文件标识对应的目标字体文件展示所述加密后的结果数据。/n

【技术特征摘要】
1.一种反爬虫方法,其特征在于,所述方法包括:
基于第一密钥和第一加密算法对原始字体文件进行加密以得到目标字体文件;
响应于客户端的数据获取请求,基于第二密钥和第二加密算法加密结果数据;其中,所述第二密钥为第一密钥的反向密钥,所述第二加密算法为第一加密算法的逆向加密算法;
将加密后的结果数据和字体文件标识发送至所述客户端,以使所述客户端基于所述字体文件标识对应的目标字体文件展示所述加密后的结果数据。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在基于第一密钥和第一加密算法对原始字体文件进行加密以得到目标字体文件之前,通过伪随机数生成器生成所述第一密钥。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述基于第二密钥和第二加密算法加密结果数据之前,获取第一密钥,对所述第一密钥的组成元素的顺序进行反向以得到所述第二密钥。


4.根据权利要求3所述的方法,其特征在于,所述第一加密算法为洗牌算法;所述基于第一密钥和第一加密算法对原始字体文件进行加密以得到目标字体文件包括:
将原始字体文件解析成XML文件;基于第一密钥和所述洗牌算法对所述XML文件进行洗牌打乱;对洗牌打乱后的XML文件进行文件格式转换,以得到目标字体文件。


5.根据权利要求4所述的方法,其特征在于,基于第一密钥和所述洗牌算法对所述XML文件进行洗牌打乱包括:
基于第一密钥和所述洗牌算法对不同字符子标签下的名称属性值进行互换;或者;基于第一密钥和所述洗牌算法对不同字形子标签下的名称属性值进行互换。


6.根据权利要求4所述的方法,其特征在于,所述基于第一密钥和第一加密算法对原始字体文件进行加密以得到目标字体文件还包括:对第一密钥进行哈希加密以得到消息摘要字符串,将所述消息摘要字符串作为所述目标字体文件的文件名后缀。


7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在客户端基于所述字体文件标识对应的目标字体文件展示所述加密后的结果数据之前,查询浏览器缓存,以从所述浏览器缓存中获取所述字体文件标识对应的目标字体文件;如果从浏览器缓存中获取不到所述字体文件标识对应的目标字体文件,从预设的引用资源地址获取所述字体文件标识对应的目标字体文件。


8.根据权利要求7所述的方法,其特征在于,所述字体文件标识包括:对第一密钥进行哈希加密得到的消息摘要字符串。


9.根据权利要求1所述的方...

【专利技术属性】
技术研发人员:张驰简志枰张舜华任文涛汪楠吴兴谭汉坚
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:上海;31

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

1