网站内容防抓取方法和装置与流程

文档序号:12376764阅读:268来源:国知局
网站内容防抓取方法和装置与流程

本发明涉及互联网技术领域,尤其涉及一种网站内容防抓取方法和装置。



背景技术:

随着互联网技术的不断发展,互联网中基于浏览器的应用会有大量有价值的网站内容,例如,在线翻译网站提供的语料信息;地图网站提供的建筑物坐标信息;外卖网站提供的商家位置信息(例如,商家联系方式、商品价格、用户评论等),该网站内容是基于浏览器的应用的核心竞争点所在,而黑客会绕过浏览器通过其它手段非法获取网站内容,即,恶意抓取,并且通过绕过浏览器的手段获取网站内容,由于不经过浏览器前端程序的渲染,可以自动化保持较高的抓取频率,存在较大的危害。相关技术中,防止网站内容被恶意抓取主要通过限制接口的请求源,或者采用图片验证码、短信验证码等验证措施。

这种方式下,易被黑客模拟,网站内容防抓取效果差,安全性不完善。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的一个目的在于提出一种网站内容防抓取方法,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

本发明的另一个目的在于提出一种网站内容防抓取方法。

本发明的另一个目的在于提出一种网站内容防抓取装置。

本发明的又一个目的在于提出一种网站内容防抓取装置。

为达到上述目的,本发明第一方面实施例提出的网站内容防抓取方法,包 括:接收浏览器发送的校验请求,其中,所述校验请求用于对访问网站内容的访问请求进行校验,所述校验请求包括所述校验请求的标识和所述浏览器生成的第一校验信息;读取与所述校验请求的标识对应的后端加密指令,并根据所述后端加密指令生成第二校验信息;根据所述第一校验信息和所述第二校验信息生成校验结果;将所述校验结果发送至所述浏览器,以使所述浏览器根据所述校验结果生成对所述网站内容的访问权限。

本发明第一方面实施例提出的网站内容防抓取方法,由于第一校验信息是浏览器生成的,第二校验信息是服务器根据后端加密指令生成的,可以实现分离浏览器和服务器的加密指令,提升校验精确度,且由于第二校验信息由服务器根据后端加密指令生成,无法被模拟,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

为达到上述目的,本发明第二方面实施例提出的网站内容防抓取方法,包括:读取与服务器发送的校验请求的标识对应的前端加密指令,并根据所述前端加密指令生成第一校验信息;根据所述校验请求的标识和所述第一校验信息生成校验请求;将所述校验请求发送至所述服务器,以使所述服务器根据所述校验请求生成校验结果;接收所述服务器发送的所述校验结果,并根据所述校验结果生成对所述网站内容的访问权限。

本发明第二方面实施例提出的网站内容防抓取方法,由于第一校验信息是浏览器生成的,第二校验信息是服务器根据后端加密指令生成的,可以实现分离浏览器和服务器的加密指令,提升校验精确度,且由于通过加密混淆算法对前端加密指令进行变量替换,注入混淆代码段等操作使前端加密指令不可读,能够有效避免前端加密指令被模拟,提升网络内容防抓取的性能,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

为达到上述目的,本发明第三方面实施例提出的网站内容防抓取装置,包括:校验请求接收模块,用于接收浏览器发送的校验请求,其中,所述校验请求用于对访问网站内容的访问请求进行校验,所述校验请求包括所述校验请求 的标识和所述浏览器生成的第一校验信息;第一读取模块,用于读取与所述校验请求的标识对应的后端加密指令,并根据所述后端加密指令生成第二校验信息;校验结果生成模块,用于根据所述第一校验信息和所述第二校验信息生成校验结果;校验结果发送模块,用于将所述校验结果发送至所述浏览器,以使所述浏览器根据所述校验结果生成对所述网站内容的访问权限。

本发明第三方面实施例提出的网站内容防抓取装置,由于第一校验信息是浏览器生成的,第二校验信息是服务器根据后端加密指令生成的,可以实现分离浏览器和服务器的加密指令,提升校验精确度,且由于第二校验信息由服务器根据后端加密指令生成,无法被模拟,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

为达到上述目的,本发明第四方面实施例提出的网站内容防抓取装置,包括:第二读取模块,用于读取与服务器发送的校验请求的标识对应的前端加密指令,并根据所述前端加密指令生成第一校验信息;校验请求生成模块,用于根据所述校验请求的标识和所述第一校验信息生成校验请求;校验请求发送模块,用于将所述校验请求发送至所述服务器,以使所述服务器根据所述校验请求生成校验结果;校验结果接收模块,用于接收所述服务器发送的所述校验结果,并根据所述校验结果生成对所述网站内容的访问权限。

本发明第四方面实施例提出的网站内容防抓取装置,由于第一校验信息是浏览器生成的,第二校验信息是服务器根据后端加密指令生成的,可以实现分离浏览器和服务器的加密指令,提升校验精确度,且由于通过加密混淆算法对前端加密指令进行变量替换,注入混淆代码段等操作使前端加密指令不可读,能够有效避免前端加密指令被模拟,提升网络内容防抓取的性能,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明一实施例提出的网站内容防抓取方法的流程示意图;

图2是本发明另一实施例提出的网站内容防抓取方法的流程示意图;

图3是本发明实施例中预设指令集示意图;

图4是本发明另一实施例提出的网站内容防抓取方法的流程示意图;

图5a为本发明实施例中前端加密指令示意图;

图5b为本发明实施例中混淆处理后的前端加密指令示意图;

图6是本发明另一实施例提出的网站内容防抓取方法的流程示意图;

图7是本发明一实施例提出的网站内容防抓取装置的结构示意图;

图8是本发明另一实施例提出的网站内容防抓取装置的结构示意图;

图9是本发明另一实施例提出的网站内容防抓取装置的结构示意图;

图10是本发明另一实施例提出的网站内容防抓取装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

图1是本发明一实施例提出的网站内容防抓取方法的流程示意图。

本实施例的执行主体可以为服务器。

互联网中基于浏览器的应用会有大量有价值的网站内容,例如,在线翻译网站提供的语料信息;地图网站提供的建筑物坐标信息;外卖网站提供的商家位置信息(例如,商家联系方式、商品价格、用户评论等),该网站内容是基于 浏览器的应用的核心竞争点所在,而黑客会绕过浏览器通过其它手段非法获取网站内容,即,恶意抓取,并且通过绕过浏览器的手段获取网站内容,由于不经过浏览器前端程序的渲染,可以自动化保持较高的抓取频率,存在较大的危害。因此,服务器在需要对访问网站内容的访问请求进行校验。

参见图1,该方法包括:

S11:接收浏览器发送的校验请求,其中,校验请求用于对访问网站内容的访问请求进行校验,校验请求包括校验请求的标识和浏览器生成的第一校验信息。

在本发明的实施例中,校验请求用于对浏览器侧的终端访问网站内容的访问请求的合法性进行校验。

其中,校验请求可以是由浏览器生成的。

校验请求的标识用于唯一标识该次访问的校验请求。

在本发明的实施例中,第一校验信息具体为浏览器根据前端加密指令生成的校验信息,第一校验信息用于后续使服务器执行网站内容防抓取方法。

可选地,在接收浏览器发送的校验请求之前,服务器可以接收浏览器发送的访问请求;根据预设规则生成校验请求的标识,并将校验请求的标识的状态标记为可用;将校验请求的标识发送至浏览器,以使浏览器根据校验请求的标识生成校验请求。

S12:读取与校验请求的标识对应的后端加密指令,并根据后端加密指令生成第二校验信息。

可选地,可以根据临时标识池中的标识与指令映射关系,读取与校验请求的标识对应的后端加密指令。

其中,标识与指令映射关系是由服务器预先建立的。

标识与指令映射关系具体为校验请求的标识、预设条数的前端加密指令,以及与预设条数的前端加密指令对应的后端加密指令之间的映射关系。

其中,可以从预设指令集中获取预设条数的前端加密指令和与前端加密指 令对应的后端加密指令,前端加密指令例如为浏览器侧的加密指令,前端加密指令形式可以为JavaScript程序代码,浏览器可以对校验请求的标识采用前端加密指令进行加密处理。

在本发明的实施例中,后端加密指令为服务器端的加密指令,服务器可以对校验请求的标识采用后端加密指令进行加密处理,生成第二校验信息,可以理解的是,第二校验信息为服务器侧的校验信息。由于第二校验信息由服务器根据后端加密指令生成,无法被模拟,能够有效防止网站内容被非法抓取。

S13:根据第一校验信息和第二校验信息生成校验结果。

可选地,根据第一校验信息和第二校验信息生成校验结果,包括:判断第一校验信息和第二校验信息是否相同;如果第一校验信息和第二校验信息相同,则生成通过校验的校验结果;如果第一校验信息和第二校验信息不同,则生成未通过校验的校验结果。

在本发明的实施例中,通过根据第一校验信息和第二校验信息生成校验结果,由于第一校验信息是浏览器根据前端加密指令生成的,而黑客绕过浏览器通过其它手段非法获取网站内容时,不会生成第一校验信息,因此,本步骤可以有效规避黑客绕过浏览器通过其它手段非法获取网站内容,提升网站内容的访问安全性。

S14:将校验结果发送至浏览器,以使浏览器根据校验结果生成对网站内容的访问权限。

本实施例中,由于第一校验信息是浏览器生成的,第二校验信息是服务器根据后端加密指令生成的,可以实现分离浏览器和服务器的加密指令,提升校验精确度,且由于第二校验信息由服务器根据后端加密指令生成,无法被模拟,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

图2是本发明另一实施例提出的网站内容防抓取方法的流程示意图。

本实施例的执行主体可以为服务器。

参见图2,该方法包括:

S201:接收浏览器发送的访问请求。

其中,浏览器可以根据外部指令生成用于访问网站内容的访问请求,并将访问请求发送至服务器,服务器接收该访问请求。

外部指令例如,用户在浏览器侧需要通过互联网的WEB页面访问外卖网站提供的商家位置信息,则会在外卖网站中输入相应的搜索信息并输入触发指令以触发浏览器进行搜索,该触发指令可以被称为外部指令。

可选地,浏览器在接收到外部指令后,可以根据该外部指令生成访问请求,上述访问请求可以用于访问服务器存储的网站内容。

进一步地,服务器在接收到访问请求后,可以对访问请求进行合法性校验。

S202:根据预设规则生成校验请求的标识,并将校验请求的标识的状态标记为可用。

在本发明的实施例中,校验请求的标识可以例如为Token令牌,该Token令牌可以用于唯一标识该次访问的校验请求,或者,也可以为其它标识,对此不作限制。

本实施例以校验请求的标识为Token令牌示例。

在本发明的实施例中,服务器在每次接收到浏览器发送的访问请求时,触发调用用于分配Token令牌的应用程序编程接口(Application Programming Interface,API),以对每次的访问请求分配Token令牌。

通过为每次访问请求分配校验请求的标识,可以对每次的访问请求均进行合法性校验,有效避免漏校验,保障网站内容不被恶意抓取,通过将校验请求的标识的状态标记为可用,以使后续能够通过追踪标识的状态,实现标识唯一性,进一步提升校验精确度。

其中,分配Token令牌的API的执行算法可以例如为:

根据毫秒级的时间戳,拼接固定长度的自增Token令牌,固定长度例如为32位。

分配得到的Token令牌可以例如为,TK000000146831540635100000000001, TK000000146831540635100000000002,TK000000146831540635199999999999。该分配Token令牌的API的执行算法可以为百亿/ms流量的访问请求分配唯一的Token令牌,进一步地,可以将分配得到的Token令牌标记为可用。

在本发明的实施例中,以分配给访问请求的Token令牌为TK000000146831540635100000000001示例,在此不作限制。

进一步地,在根据预设规则生成校验请求的标识,并将校验请求的标识的状态标记为可用之后,还可以将分配得到的Token令牌和状态分别保存到浏览器端的存储(例如,Cookie)中以及预设Token池中,其中,预设Token池可以存储于服务器端的数据库中,后续在给每次的访问请求分配Token令牌之后,在校验过程中可以根据预设Token池中所保存的已分配Token的状态来检测该次分配的Token令牌是否可用,若可用,则继续执行生成第二校验信息的步骤,若不可用,则中断生成第二校验信息,后续可以重新调用分配Token令牌的API,再次获取Token令牌,通过在该次分配的Token令牌可用时,继续执行生成第二校验信息的步骤,进一步保障了网络内容的安全性。

S203:从预设指令集中选取预设条数的前端加密指令和前端加密指令对应的后端加密指令。

其中,预设指令集可以是预先建立的。

预设条数可以例如为4条,对此不作限制。

本步骤中,通过设置预设条数,可以根据不同的预设条数生成不同的校验信息,由于采用不同预设条数的加密指令所生成的校验信息不同,可以生成不同长度的校验信息,能够依赖于校验信息的长度对加密指令做出调整,支持海量的密码库,提升方法适用性,增强用户体验。

参见图3,图3是本发明实施例中预设指令集示意图,其中,图3包括ID31、后端加密指令32,以及前端加密指令33。每条指令集分别包括ID、前端加密指令,以及与前端加密指令对应的后端加密指令,前端加密指令为浏览器执行的加密指令,而后端加密指令为服务器执行的加密指令,可以理解的是,在访 问请求合法的情况下,浏览器执行前端加密指令所得的第一校验信息,和服务器执行与该前端加密指令对应的后端加密指令所得的第二校验信息相同。

其中,ID为每条指令集的标识,用于在预设指令集中检索指令。以ID=1为例,后端加密指令=AhFKMTaC,对应的前端加密指令(JavaScript程序代码)的注释为:

(1)获取浏览器的存储(例如,Cookie)中name=token的存储数据;

(2)在name=token的存储数据后拼接字符串AhFKMTaC;

(3)保存(2)中拼接后的存储数据(拼接后的存储数据的name=token)。

参见上述,可以依次类推指令集中其他ID的指令集的注释。

S204:建立校验请求的标识、预设条数的前端加密指令,以及对应的后端加密指令之间的映射关系以生成标识与指令映射关系。

例如,可以从图3所示的预设指令集中选取ID为1、2、3以及4的4条指令集(包括ID、前端加密指令,以及对应的后端加密指令),并根据S202中分配的Token令牌建立:Token令牌和选取的ID为1、2、3以及4的4条指令集的映射关系。

本步骤中,通过建立校验请求的标识、预设条数的前端加密指令,以及对应的后端加密指令之间的映射关系以生成标识与指令映射关系,可以实现分离浏览器和服务器的加密指令,而不依赖于浏览器对访问请求进行校验,有效避免被模拟,提升网络内容防抓取的性能。

S205:将标识与指令映射关系保存在临时标识池中。

在本发明的实施例中,通过将将标识与指令映射关系保存在临时标识池中,即,保存在S202中的预设Token池中,其中,预设Token池可以存储于服务器端的数据库中,可以实现根据临时标识池中的标识与指令映射关系,读取与校验请求的标识对应的后端加密指令,能够有效保证标识与指令映射关系的稳定性,增强方法实用性。

进一步地,也可以对临时标识池中的标识与指令映射关系进行动态维护, 在检测标识的状态为不可用时,可以将该不可用的标识及其对应指令集从临时标识池中删除,可以节省服务器端数据的存储开销,提升服务器查询临时标识池中指令集的查询效率,进一步提升校验效率。

S206:将校验请求的标识发送至浏览器,以使浏览器根据校验请求的标识生成校验请求。

例如,可以将分配得到的Token令牌发送至浏览器,以使浏览器将Token令牌保存到浏览器端的存储(例如,Cookie)中。

在本发明的实施例中,由于服务器在每次接收到浏览器发送的访问请求时,触发调用用于分配Token令牌的应用程序编程接口(Application Programming Interface,API),以对每次的访问请求分配Token令牌,进一步地,浏览器可以根据每次访问请求分配的Token令牌生成校验请求,实现服务器对每次访问请求均触发校验,有效保障防护性能。

S207:接收浏览器发送的校验请求。

其中,校验请求用于对访问网站内容的访问请求进行校验,校验请求包括校验请求的标识和浏览器生成的第一校验信息。

在本发明的实施例中,第一校验信息具体为浏览器根据前端加密指令生成的校验信息,第一校验信息用于后续使服务器执行网站内容防抓取方法。

S208:根据临时标识池中的标识与指令映射关系,读取与校验请求的标识对应的后端加密指令。

可选地,可以根据预设Token池中所保存的已分配Token的状态来检测该次分配的Token令牌是否可用,若可用,则继续执行生成第二校验信息的步骤S209,若不可用,则中断生成第二校验信息,后续可以重新调用分配Token令牌的API,再次获取Token令牌,通过在该次分配的Token令牌可用时,继续执行生成第二校验信息的步骤S209,进一步保障了网络内容的安全性。

S209:根据后端加密指令生成第二校验信息。

在本发明的实施例中,后端加密指令为服务器端的加密指令,服务器可以 对校验请求的标识采用后端加密指令进行加密处理,生成第二校验信息,可以理解的是,第二校验信息为服务器侧的校验信息。由于第二校验信息由服务器根据后端加密指令生成,无法被模拟,能够有效防止网站内容被非法抓取。

例如,该次访问的Token令牌为:

TK000000146831540635100000000001,且根据S204中建立的标识与指令映射关系得到与TK000000146831540635100000000001对应的后端加密指令为:图3中ID为2、3、4以及5的4条指令集的后端加密指令的组合,即,5FiErCkI、JieLjfkD、mIFJlcKd、IjcDFalA,则服务器根据后端加密指令生成第二校验信息为:

TK0000001468315406351000000000015FiErCkIJieLjfkDmIFJlcKdIjcDFalA

对此不作限制。

S210:根据第一校验信息和第二校验信息生成校验结果。

在本发明的实施例中,第一校验信息具体为浏览器根据与该次访问请求的Token令牌TK000000146831540635100000000001对应的前端加密指令生成的校验信息,第一校验信息用于后续使服务器执行网站内容防抓取方法。

在本发明的实施例中,前端加密指令为浏览器执行的加密指令,而后端加密指令为服务器执行的加密指令,浏览器执行前端加密指令所得的信息,和服务器执行与其对应的后端加密指令所得的信息相同,前端加密指令和与其对应的后端加密指令分别由不同执行主体执行,且所得信息相同。

可以理解的是,在访问请求合法的情况下,根据预先建立的标识与指令映射关系可知,浏览器执行前端加密指令所得的第一校验信息,和服务器执行与该前端加密指令对应的后端加密指令所得的第二校验信息相同。

可选地,根据第一校验信息和第二校验信息生成校验结果,包括:判断第一校验信息和第二校验信息是否相同;如果第一校验信息和第二校验信息相同,则生成通过校验的校验结果;如果第一校验信息和第二校验信息不同,则生成未通过校验的校验结果。

在本步骤中,通过在第一校验信息和第二校验信息相同时,生成通过校验的校验结果,以根据通过校验的校验结果触发对网站内容的访问,在第一校验信息和第二校验信息不同时,生成未通过校验的校验结果,其中,未通过校验可能是由于黑客绕过浏览器通过其它手段非法获取网站内容的非法访问所造成,此时,可以禁止对网站内容的访问,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

S211:将校验结果发送至浏览器,以使浏览器根据校验结果生成对网站内容的访问权限。

本实施例中,通过为每次访问请求分配校验请求的标识,可以对每次的访问请求均进行合法性校验,有效避免漏校验,保障网站内容不被恶意抓取,通过将校验请求的标识的状态标记为可用,以使后续能够通过追踪标识的状态,实现标识唯一性,进一步提升校验精确度。通过设置预设条数,可以根据不同的预设条数生成不同的校验信息,由于采用不同预设条数的加密指令所生成的校验信息不同,可以生成不同长度的校验信息,能够依赖于校验信息的长度对加密指令做出调整,支持海量的密码库,提升方法适用性,增强用户体验。通过建立校验请求的标识、预设条数的前端加密指令,以及对应的后端加密指令之间的映射关系以生成标识与指令映射关系,可以实现分离浏览器和服务器的加密指令,而不依赖于浏览器对访问请求进行校验,有效避免被模拟,提升网络内容防抓取的性能。实现根据临时标识池中的标识与指令映射关系,读取与校验请求的标识对应的后端加密指令,能够有效保证标识与指令映射关系的稳定性,增强方法实用性。对临时标识池中的标识与指令映射关系进行动态维护,在检测标识的状态为不可用时,可以将该不可用的标识及其对应指令集从临时标识池中删除,可以节省服务器端数据的存储开销,提升服务器查询临时标识池中指令集的查询效率,进一步提升校验效率。浏览器可以根据每次访问请求分配的Token令牌生成校验请求,实现服务器对每次访问请求均触发校验,有效保障防护性能。由于第一校验信息是浏览器生成的,第二校验信息是服务器 根据后端加密指令生成的,可以实现分离浏览器和服务器的加密指令,提升校验精确度,且由于第二校验信息由服务器根据后端加密指令生成,无法被模拟,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

图4是本发明另一实施例提出的网站内容防抓取方法的流程示意图。

本实施例的执行主体可以为浏览器。

参见图4,该方法包括:

S41:读取与服务器发送的校验请求的标识对应的前端加密指令,并根据前端加密指令生成第一校验信息。

在本发明的实施例中,校验请求的标识用于唯一标识该次访问的校验请求。

在本发明的实施例中,第一校验信息具体为浏览器根据前端加密指令生成的校验信息,第一校验信息用于后续使服务器执行网站内容防抓取方法。

可选地,读取与服务器发送的校验请求的标识对应的前端加密指令,包括:根据临时标识池中的标识与指令映射关系,读取与校验请求的标识对应的前端加密指令。

其中,临时标识池中的标识与指令映射关系是由服务器建立的,具体步骤可以参见上述实施例,在此不再赘述。

进一步地,浏览器在读取到对应的前端加密指令后,还可以采用加密混淆算法,对前端加密指令进行加密混淆处理。

其中,加密混淆算法是一种防止代码被机器或者人为方式分析获取到算法内容,对前端加密指令进行加密混淆处理后,对浏览器无影响,浏览器可以执行该加密混淆处理后的前端加密指令。

作为一种示例,参见图5,图5a为本发明实施例中前端加密指令示意图,图5b为本发明实施例中混淆处理后的前端加密指令示意图。

通过加密混淆算法对前端加密指令进行变量替换,注入混淆代码段等操作使前端加密指令不可读,能够有效避免前端加密指令被模拟,提升网络内容防抓取的性能。

S42:根据校验请求的标识和第一校验信息生成校验请求。

可选地,服务器可以接收浏览器发送的访问请求;根据预设规则生成校验请求的标识,并将校验请求的标识的状态标记为可用;将校验请求的标识发送至浏览器,以使浏览器根据校验请求的标识生成校验请求。

S43:将校验请求发送至服务器,以使服务器根据校验请求生成校验结果。

其中,校验请求用于对访问网站内容的访问请求进行校验,校验请求包括校验请求的标识和浏览器生成的第一校验信息。

S44:接收服务器发送的校验结果,并根据校验结果生成对网站内容的访问权限。

可选地,在校验结果为通过校验时,可以根据通过校验的校验结果触发对网站内容的访问,在校验结果为未通过校验时,其中,未通过校验可能是由于黑客绕过浏览器通过其它手段非法获取网站内容的非法访问所造成,此时,可以禁止对网站内容的访问,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

本实施例中,由于第一校验信息是浏览器生成的,第二校验信息是服务器根据后端加密指令生成的,可以实现分离浏览器和服务器的加密指令,提升校验精确度,且由于通过加密混淆算法对前端加密指令进行变量替换,注入混淆代码段等操作使前端加密指令不可读,能够有效避免前端加密指令被模拟,提升网络内容防抓取的性能,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

图6是本发明另一实施例提出的网站内容防抓取方法的流程示意图。

本实施例的执行主体可以为浏览器。

参见图6,该方法包括:

S601:根据外部指令生成用于访问网站内容的访问请求,并将访问请求发送至服务器。

外部指令例如,用户在浏览器侧需要通过互联网的WEB页面访问外卖网站 提供的商家位置信息,则会在外卖网站中输入相应的搜索信息并输入触发指令以触发浏览器进行搜索,该触发指令可以被称为外部指令。

可选地,浏览器在接收到外部指令后,可以根据该外部指令生成访问请求,上述访问请求可以用于访问服务器存储的网站内容。

S602:接收服务器发送的校验请求的标识。

可选地,服务器可以接收浏览器发送的访问请求;根据预设规则生成校验请求的标识,并将校验请求的标识的状态标记为可用;将校验请求的标识发送至浏览器,以使浏览器根据校验请求的标识生成校验请求。

通过为每次访问请求分配校验请求的标识,可以对每次的访问请求均进行合法性校验,有效避免漏校验,保障网站内容不被恶意抓取,通过将校验请求的标识的状态标记为可用,以使后续能够通过追踪标识的状态,实现标识唯一性,进一步提升校验精确度。

S603:根据临时标识池中的标识与指令映射关系,读取与校验请求的标识对应的前端加密指令。

其中,临时标识池中的标识与指令映射关系是由服务器建立的,具体步骤可以参见上述实施例,在此不再赘述。

进一步地,浏览器在读取到对应的前端加密指令后,还可以采用加密混淆算法,对前端加密指令进行加密混淆处理。

其中,加密混淆算法是一种防止代码被机器或者人为方式分析获取到算法内容,对前端加密指令进行加密混淆处理后,对浏览器无影响,浏览器可以执行该加密混淆处理后的前端加密指令。

实现根据临时标识池中的标识与指令映射关系,读取与校验请求的标识对应的后端加密指令,能够有效保证标识与指令映射关系的稳定性,增强方法实用性。

S604:根据前端加密指令生成第一校验信息。

由于第一校验信息是浏览器生成的,第二校验信息是服务器根据后端加密 指令生成的,可以实现分离浏览器和服务器的加密指令,提升校验精确度。

S605:根据校验请求的标识和第一校验信息生成校验请求。

S606:将校验请求发送至服务器,以使服务器根据校验请求生成校验结果。

在本发明的实施例中,前端加密指令为浏览器执行的加密指令,而后端加密指令为服务器执行的加密指令,浏览器执行前端加密指令所得的信息,和服务器执行与其对应的后端加密指令所得的信息相同,前端加密指令和与其对应的后端加密指令分别由不同执行主体执行,且所得信息相同。

可以理解的是,在访问请求合法的情况下,根据预先建立的标识与指令映射关系可知,浏览器执行前端加密指令所得的第一校验信息,和服务器执行与该前端加密指令对应的后端加密指令所得的第二校验信息相同。

S607:接收服务器发送的校验结果。

S608:在校验结果为通过校验时,根据校验结果生成对网站内容的访问权限。

可选地,在校验结果为通过校验时,可以根据通过校验的校验结果触发对网站内容的访问,在校验结果为未通过校验时,其中,未通过校验可能是由于黑客绕过浏览器通过其它手段非法获取网站内容的非法访问所造成,此时,可以禁止对网站内容的访问,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

本实施例中,通过为每次访问请求分配校验请求的标识,可以对每次的访问请求均进行合法性校验,有效避免漏校验,保障网站内容不被恶意抓取,通过将校验请求的标识的状态标记为可用,以使后续能够通过追踪标识的状态,实现标识唯一性,进一步提升校验精确度。实现根据临时标识池中的标识与指令映射关系,读取与校验请求的标识对应的后端加密指令,能够有效保证标识与指令映射关系的稳定性,增强方法实用性。由于第一校验信息是浏览器生成的,第二校验信息是服务器根据后端加密指令生成的,可以实现分离浏览器和服务器的加密指令,提升校验精确度,且由于通过加密混淆算法对前端加密指 令进行变量替换,注入混淆代码段等操作使前端加密指令不可读,能够有效避免前端加密指令被模拟,提升网络内容防抓取的性能,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。在校验结果为通过校验时,可以根据通过校验的校验结果触发对网站内容的访问,在校验结果为未通过校验时,其中,未通过校验可能是由于黑客绕过浏览器通过其它手段非法获取网站内容的非法访问所造成,此时,可以禁止对网站内容的访问,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

图7是本发明一实施例提出的网站内容防抓取装置的结构示意图。该网站内容防抓取装置70可以通过软件、硬件或者两者的结合实现,该网站内容防抓取装置70可以包括:校验请求接收模块701、第一读取模块702、校验结果生成模块703,以及校验结果发送模块704。其中,

校验请求接收模块701,用于接收浏览器发送的校验请求,其中,校验请求用于对访问网站内容的访问请求进行校验,校验请求包括校验请求的标识和浏览器生成的第一校验信息。

第一读取模块702,用于读取与校验请求的标识对应的后端加密指令,并根据后端加密指令生成第二校验信息。

可选地,第一读取模块702还用于:根据临时标识池中的标识与指令映射关系,读取与校验请求的标识对应的后端加密指令。

校验结果生成模块703,用于根据第一校验信息和第二校验信息生成校验结果。

校验结果发送模块704,用于将校验结果发送至浏览器,以使浏览器根据校验结果生成对网站内容的访问权限。

一些实施例中,参见图8,该网站内容防抓取装置70还可以包括:

校验结果生成模块703包括:

判断子模块7031,用于判断第一校验信息和第二校验信息是否相同。

生成子模块7032,用于在第一校验信息和第二校验信息相同时,生成通过 校验的校验结果;在第一校验信息和第二校验信息不同时,生成未通过校验的校验结果。

访问请求接收模块705,用于接收浏览器发送的访问请求。

校验请求的标识生成模块706,用于根据预设规则生成校验请求的标识,并将校验请求的标识的状态标记为可用。

校验请求的标识发送模块707,用于将校验请求的标识发送至浏览器,以使浏览器根据校验请求的标识生成校验请求。

选取模块708,用于从预设指令集中选取预设条数的前端加密指令和前端加密指令对应的后端加密指令。

建立模块709,用于建立校验请求的标识、预设条数的前端加密指令,以及对应的后端加密指令之间的映射关系以生成标识与指令映射关系。

保存模块710,用于将标识与指令映射关系保存在临时标识池中。

需要说明的是,前述图1-图2实施例中对网站内容防抓取方法实施例的解释说明也适用于该实施例的网站内容防抓取装置70,其实现原理类似,此处不再赘述。

本实施例中,由于第一校验信息是浏览器生成的,第二校验信息是服务器根据后端加密指令生成的,可以实现分离浏览器和服务器的加密指令,提升校验精确度,且由于第二校验信息由服务器根据后端加密指令生成,无法被模拟,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

图9是本发明另一实施例提出的网站内容防抓取装置的结构示意图。该网站内容防抓取装置90可以通过软件、硬件或者两者的结合实现,该网站内容防抓取装置90可以包括:第二读取模块901、校验请求生成模块902、校验请求发送模块903,以及校验结果接收模块904。其中,

第二读取模块901,用于读取与服务器发送的校验请求的标识对应的前端加密指令,并根据前端加密指令生成第一校验信息。

可选地,第二读取模块901还用于:根据临时标识池中的标识与指令映射 关系,读取与校验请求的标识对应的前端加密指令。

校验请求生成模块902,用于根据校验请求的标识和第一校验信息生成校验请求。

校验请求发送模块903,用于将校验请求发送至服务器,以使服务器根据校验请求生成校验结果。

校验结果接收模块904,用于接收服务器发送的校验结果,并根据校验结果生成对网站内容的访问权限。

可选地,校验结果接收模块904还用于:在校验结果为通过校验时,根据校验结果生成对网站内容的访问权限。

一些实施例中,参见图10,该网站内容防抓取装置90还可以包括:

访问请求生成模块905,用于根据外部指令生成用于访问网站内容的访问请求,并将访问请求发送至服务器。

校验请求的标识接收模块906,用于接收服务器发送的校验请求的标识。

需要说明的是,前述图4-图6实施例中对网站内容防抓取方法实施例的解释说明也适用于该实施例的网站内容防抓取装置90,其实现原理类似,此处不再赘述。

本实施例中,由于第一校验信息是浏览器生成的,第二校验信息是服务器根据后端加密指令生成的,可以实现分离浏览器和服务器的加密指令,提升校验精确度,且由于通过加密混淆算法对前端加密指令进行变量替换,注入混淆代码段等操作使前端加密指令不可读,能够有效避免前端加密指令被模拟,提升网络内容防抓取的性能,能够有效防止网站内容被非法抓取,且提升网站内容的访问安全性。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表 示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中 以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1