System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种服务器反爬虫方法和系统技术方案_技高网

一种服务器反爬虫方法和系统技术方案

技术编号:40189545 阅读:10 留言:0更新日期:2024-01-26 23:52
本发明专利技术公开了一种服务器反爬虫方法和系统,属于知识管理技术领域,方法包括:平台侧对网页进行区域划分并编号,并根据链接对应的第一区域编号信息将原始URL更新为目标URL;客户端获取用户对链接输入操作所在区域对应的第二区域编号信息,将第二区域编号信息嵌入至HTTP请求的URL的查询字符串参数中;服务器端接收用户的HTTP请求,获取目标URL的对应第一区域编号信息,以及HTTP请求的URL的查询字符串参数对应的第二区域编号信息,判断第二区域编号信息是否位于第一区域编号信息的列表中,若第二区域编号信息不位于第一区域编号信息的列表中,则拒绝HTTP请求。在本发明专利技术中,不需要向服务器端持续上报输入轨迹数据,也不涉及复杂算法,对系统性能影响很低。

【技术实现步骤摘要】

本专利技术属于知识管理,具体涉及一种服务器反爬虫方法和系统


技术介绍

1、随着用户的快速增长,知识管理平台累积了大量的文档,且文档数量保持快速增长,这些文档是企业的一项重要资产,一旦大规模被窃取,将给企业带来巨大损失。

2、网络爬虫,是一种按照一定的规则,自动地抓取网页信息的程序或脚本。如果有企业外用户通过爬虫访问知识管理平台,会在短时间内下载大量的文档。知识管理平台必须具备识别爬虫并拒绝爬虫的超文本传输协议(hypertext transfer protocol,http)请求的能力。目前有两类反爬虫策略。一类是使用简单的规则,例如对来自同一源地址的访问请求数量进行限制,或对同一账号短时间的请求数量进行限制,但这类方法对于通过同一代理服务器等方式访问互联网的用户,或正常下载大量文档的用户,造成了不必要的限制。另一类是使用机器学习方法,通过平台用户的历史访问日志,识别正常用户的访问模式,从而识别爬虫的异常访问行为。

3、同时,为了提高爬虫的识别效果,服务器端需要采集客户端鼠标的运行轨迹,因为爬虫在自动运行时,是不需要人干预的,因此,鼠标通常是静止的。一旦发现用户在请求文档时,没有对应的鼠标运动数据,则会判断客户端为爬虫。但当前爬虫的开发者普遍会使用类似selenium webdriver等工具,自动生成模拟的鼠标运动,并上报给服务器端,迷惑服务器端的反爬虫系统。同时,如果平台用户访问量大的时候,会有大量的鼠标轨迹数据上报,增加了平台的计算开销。

4、因此,知识管理平台需要一种简单、高效的方法来识别、阻止爬虫的访问,同时低成本的识别客户端鼠标运动轨迹是否是由工具模拟的。


技术实现思路

1、为了解决现有技术中的爬虫识别限制多,计算复杂对系统性能影响较大的问题,本专利技术提供一种服务器反爬虫方法和系统。

2、第一方面

3、本专利技术提供了一种服务器反爬虫方法,包括:

4、s101:平台侧对网页进行区域划分并编号,获取所述网页中每个链接占据区域的第一区域编号信息,基于所述链接对应的所述第一区域编号信息将所述链接的原始统一资源定位符url更新为目标url;

5、s102:客户端根据用户对所述链接的输入操作,获取所述输入操作所在区域对应的第二区域编号信息,将所述第二区域编号信息嵌入至超文本传输协议http请求的url的查询字符串参数中;

6、s103:服务器端接收所述用户的http请求,获取所述目标url的对应第一区域编号信息,以及所述http请求的url的查询字符串参数对应的所述第二区域编号信息,判断所述第二区域编号信息是否位于所述第一区域编号信息的列表中,若所述第二区域编号信息不位于所述第一区域编号信息的列表中,则拒绝所述http请求。

7、第二方面

8、本专利技术提供了一种服务器反爬虫系统,包括:

9、平台侧区域划分模块,用于对网页进行区域划分并编号,获取所述网页中每个链接占据区域的第一区域编号信息,基于所述链接对应的所述第一区域编号信息将所述链接的原始统一资源定位符url更新为目标url;

10、客户端输入检测模块,用于根据用户对所述链接的输入操作,获取所述输入操作所在区域对应的第二区域编号信息,将所述第二区域编号信息嵌入至超文本传输协议http请求的url的查询字符串参数中;

11、服务器端区域编号信息判断模块,接收所述用户的http请求,获取所述目标url的对应第一区域编号信息,以及所述http请求的url的查询字符串参数对应的所述第二区域编号信息,判断所述第二区域编号信息是否位于所述第一区域编号信息的列表中,若所述第二区域编号信息不位于所述第一区域编号信息的列表中,则拒绝所述http请求。

12、与现有技术相比,本专利技术至少具有以下有益技术效果:

13、在本专利技术中,平台侧对网页进行区域划分并编号,并根据网页中链接对应的第一区域编号信息将链接的原始url更新为目标url;客户端根据用户对链接的输入操作获取输入操作所在区域对应的第二区域编号信息,将第二区域编号信息嵌入至http请求的url的查询字符串参数中;服务器端接收用户的http请求,获取目标url的对应第一区域编号信息,以及http请求的url的查询字符串参数对应的第二区域编号信息,判断第二区域编号信息是否位于第一区域编号信息的列表中,若第二区域编号信息不位于第一区域编号信息的列表中,则拒绝该http请求。以上方式,让服务器端识别爬虫行为更加准确,不需要向服务器端持续上报输入轨迹数据,节省带宽和服务器处理开销,也不涉及复杂算法,对系统性能影响很低。

本文档来自技高网...

【技术保护点】

1.一种服务器反爬虫方法,其特征在于,包括:

2.根据权利要求1所述的一种服务器反爬虫方法,其特征在于,所述S101具体包括:

3.根据权利要求1所述的一种服务器反爬虫方法,其特征在于,所述S101具体包括:

4.根据权利要求1所述的一种服务器反爬虫方法,其特征在于,所述S102具体包括:

5.根据权利要求3所述的一种服务器反爬虫方法,其特征在于,所述S105具体包括:

6.一种服务器反爬虫系统,其特征在于,包括:

7.根据权利要求6所述的一种服务器反爬虫系统,其特征在于,所述平台侧区域划分模块具体用于:

8.根据权利要求6所述的一种服务器反爬虫系统,其特征在于,所述平台侧区域划分模块具体用于:

9.根据权利要求6所述的一种服务器反爬虫系统,其特征在于,所述客户端输入检测模块具体用于:

10.根据权利要求8所述的一种服务器反爬虫系统,其特征在于,所述服务器端区域编号信息判断模块具体用于:

【技术特征摘要】

1.一种服务器反爬虫方法,其特征在于,包括:

2.根据权利要求1所述的一种服务器反爬虫方法,其特征在于,所述s101具体包括:

3.根据权利要求1所述的一种服务器反爬虫方法,其特征在于,所述s101具体包括:

4.根据权利要求1所述的一种服务器反爬虫方法,其特征在于,所述s102具体包括:

5.根据权利要求3所述的一种服务器反爬虫方法,其特征在于,所述s105具体包括:

6.一种服务器反爬虫...

【专利技术属性】
技术研发人员:张宇韩冬刘少卿陈家宁杜忠田叶丽周晓晨
申请(专利权)人:中电信数智科技有限公司
类型:发明
国别省市:

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

1