一种实现反爬虫的方法及系统与流程

文档序号:24652964发布日期:2021-04-13 20:27阅读:106来源:国知局
一种实现反爬虫的方法及系统与流程

1.本发明涉及web程序数据保护领域,具体提供一种实现反爬虫的方法及系统。


背景技术:

2.随着互联网的蓬勃发展,网络世界已经和人类生活密不可分,人们通过互联网体验各式各样的服务,浏览和提供品类繁多的信息。但是随着爬虫技术的兴起,网络中的信息遭受了极大的安全挑战,一些敏感信息虽然保存在各大公司服务端,但爬虫程序可以毫不费力的获得来自于服务端的大部分数据,由此造成了许多安全隐患,比如商业公司的大量数据被爬虫爬取分析,不利于公司的商业竞争,个人信息被爬虫程序爬取,可能会造成一些个人隐私的泄露,对个人生活产生影响。
3.另一方面,一些爬虫的技术手段比较暴力,短时间内多次请求服务端,给服务端造成巨大的负载压力,降低了服务端的相应效率。因此制定一定的反爬虫策略就势在必行。


技术实现要素:

4.本发明是针对上述现有技术的不足,提供一种实用性强的实现反爬虫的方法。
5.本发明解决其技术问题所采用的技术方案是:
6.一种实现反爬虫的方法,请求方获取javascript脚本,在javascript脚本获取本地时间戳time和请求携带的参数param,通过本地时间戳time和请求携带的参数param构造加密,通过加密的方式发送请求;
7.响应方接收请求,并获取本地时间戳time和请求携带的参数param,通过加密的方式获取信息,进行对比两次加密的信息。
8.进一步的,所述请求方从服务端获取加密需要的javascript脚本,并在javascript脚本内部获取当前系统本地时间戳time和请求携带的参数param。
9.进一步的,javascript脚本内部通过本地时间戳time和请求携带的参数param构造加密参数的原始值origin。
10.进一步的,在javascript脚本内部通过md5加密方式对原始值origin加密获得加密结果result;
11.请求方构造请求url并携带result,构造原始值origin时使用的本地时间戳time和请求携带的参数param,发送请求。
12.进一步的,所述响应方接收请求后从url中获取本地时间戳time和请求携带的参数param构造server_origin。
13.进一步的,响应方采用md5方法对server_origin加密获取server_result,响应方对比server_result和从url中获取的result,两者一致,则返回请求方请求的数据,否则,返回非法请求提示。
14.一种实现反爬虫的系统,请求方用于获取javascript脚本,在javascript脚本获取本地时间戳time和请求携带的参数param,通过本地时间戳time和请求携带的参数param
构造加密,通过加密的方式发送请求;
15.响应方用于接收请求,并获取本地时间戳time和请求携带的参数param,通过加密的方式获取信息,进行对比两次加密的信息。
16.进一步的,所述请求方用于从服务端获取加密需要的javascript脚本,在javascript脚本内部获取当前系统本地时间戳time和请求携带的参数param,且通过本地时间戳time和请求携带的参数param构造加密参数的原始值origin,通过md5加密方式对origin加密获得加密结果result,请求方构造请求url并携带result,构造origin时使用的time和param,发送请求。
17.进一步的,所述响应方用于接收到请求后从url中获取time和param构造server_origin,采用md5方法对server_origin加密获取server_result,响应方对比server_result和从url中获取的result,二者一致,则返回请求方请求的数据,否则,返回非法请求提示。
18.本发明的一种实现反爬虫的方法及系统和现有技术相比,具有以下突出的有益效果:
19.本发明对web程序数据安全问题的分析和网络爬虫造成的服务器资源浪费的情况分析,根据分析形成加密过程体系,结合http协议的get方法特性以及参数加密实现反爬虫系统,保证了服务端数据传输的安全性,降低了服务端的负载压力,提高了服务端资源利用效率。
附图说明
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.附图1是一种实现反爬虫的方法中请求方流程示意图;
22.附图2是一种实现反爬虫的方法中响应方流程示意图。
具体实施方式
23.为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
24.下面给出一个最佳实施例:
25.如图1、2所示,本实施例中的一种实现反爬虫的方法,具有如下步骤:
26.s1请求方从服务端获取加密需要的javascript脚本。
27.s2请求方在javascript脚本内部获取当前系统本地时间戳time和请求携带的参数param。
28.s3请求方在javascript脚本内部通过time和param构造加密参数的原始值origin。
29.s4请求方在javascript脚本内部通过md5加密方式对origin加密获得加密结果result。
30.s5请求方构造请求url并携带result,构造origin时使用的time和param,发送请求。
31.s6响应方接收到请求后从url中获取time和param构造server_origin。
32.s7响应方采用同样的md5方法对server_origin加密获取server_result。
33.s8响应方对比server_result和从url中获取的result,二者一致则返回请求方请求的数据,否则返回非法请求提示。
34.实现上述方法的系统为:
35.请求方用于获取javascript脚本,在javascript脚本获取本地时间戳time和请求携带的参数param,通过本地时间戳time和请求携带的参数param构造加密,通过加密的方式发送请求;
36.响应方用于接收请求,并获取本地时间戳time和请求携带的参数param,通过加密的方式获取信息,进行对比两次加密的信息。
37.其中,请求方用于从服务端获取加密需要的javascript脚本,在javascript脚本内部获取当前系统本地时间戳time和请求携带的参数param,且通过本地时间戳time和请求携带的参数param构造加密参数的原始值origin,通过md5加密方式对origin加密获得加密结果result,请求方构造请求url并携带result,构造origin时使用的time和param,发送请求。
38.响应方用于接收到请求后从url中获取time和param构造server_origin,采用md5方法对server_origin加密获取server_result,响应方对比server_result和从url中获取的result,二者一致,则返回请求方请求的数据,否则,返回非法请求提示。
39.上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明的一种实现反爬虫的方法及系统权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
40.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1