本发明涉及数据处理技术领域,特别是一种根据请求数据防爬虫系统和方法。
背景技术:
现在互联网产品中的原创数据容易被其他公司或个人利用恶意爬虫获取到,会对原产品的利益产生损害,本技术用来解决大部分爬虫利用代理ip频繁访问获取数据的问题。与本发明相关的现有最接近技术是根据用户ip访问频率来识别恶意爬虫,如果同一ip一段时间内访问次数过多,就将ip加入黑名单。缺点在于恶意爬虫可以使用代理,每次请求使用不同的ip来绕过ip速度监测。
技术实现要素:
本发明上述问题,提供一种根据请求数据防爬虫系统。本发明的技术方案为:
一种根据请求数据防爬虫系统,包括cookie加密生成模块、cookie存储模块和比对分析模块,所述cookie加密生成模块用于根据用户user-agent、当前时间戳、当前ip地址加密生成cookie;所述cookie存储模块用于存储cookie黑名单数据;所述比对分析模块用于比对分析当前访问cookie与cookie黑名单数据,以针对当前访问cookie执行反应操作。
本发明的另一方面,以上述系统进行根据请求数据防爬虫方法,包括如下步骤:
100、用户首次请求访问,所述cookie加密生成模块生成加密cookie并允许用户访问目标页面;
101、用户再次请求访问时,判断用户携带的cookie是否有效,cookie有效则执行步骤102,cookie无效则重新生成加密cookie再执行步骤102;
102、所述比对分析模块比对用户携带的cookie与所述cookie存储模块存储的cookie黑名单数据,当该用户携带的cookie属于所述cookie黑名单数据时拦截用户的访问请求,当该用户携带的cookie不属于所述cookie黑名单数据时执行步骤103;
103、所述比对分析模块判断该用户携带的cookie访问速度,超过速度限制则将该用户携带的cookie存储到所述cookie存储模块中更新cookie黑名单数据数据并拦截用户的访问请求,没有超过速度限制则执行步骤104;
104、所述比对分析模块判断当前请求用户的ip是否与加密cookie中的ip匹配,如果两者ip不匹配则将该加密cookie存储到所述cookie存储模块中更新cookie黑名单数据数据并拦截用户的访问请求,如果两者ip匹配则允许用户访问目标页面。
作为本发明进一步地说明,所述步骤100中的加密cookie由所述cookie加密生成模块根据用户user-agent、当前时间戳和当前ip地址等关键访问参数加密生成。
作为本发明进一步地说明,所述步骤103和步骤104中速度限制判断和ip匹配判断的顺序可以互换。
作为本发明进一步地说明,包括一上级页面,所述cookie在用户访问所述上级页面时生成。
本发明还提供一种计算机可读介质,其上存储有计算机程序,该程序被计算机或处理器执行以实现上述根据请求数据防爬虫方法。
本发明的有益效果:
本发明可以有效防止恶意爬虫使用代理ip快速的大量获取数据,保护公司的原创数据利益,防止恶意爬虫大量获取到企业原创数据后发布在其他同类产品上;本发明可以在用户不登陆的情况下识别爬虫,不用客户登陆,保留客户浏览的意向,同时也可以实现防爬虫效果。
附图说明
图1为本发明系统结构框图;
图2为本发明方法流程图。
具体实施方式
实施例:
下面结合附图对本发明实施例详细的说明,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”、“第一”、“第二”等指示的方位或位置或顺序关系为基于附图所示的方位或位置或顺序关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
参见附图1,本发明的根据请求数据防爬虫系统包括cookie加密生成模块、cookie存储模块和比对分析模块,所述cookie加密生成模块用于根据用户user-agent、当前时间戳、当前ip地址加密生成cookie;所述cookie存储模块用于存储cookie黑名单数据;所述比对分析模块用于比对分析当前访问cookie与cookie黑名单数据,以针对当前访问cookie执行反应操作。
参见附图2的流程图,本发明系统根据请求数据防爬虫的方法,包括如下步骤:
100、用户首次请求访问,所述cookie加密生成模块生成加密cookie并允许用户访问目标页面;
101、用户再次请求访问时,判断用户携带的cookie是否有效,cookie有效则执行步骤102,cookie无效则重新生成加密cookie再执行步骤102。本申请需要保护的数据在目标页面上,用户不带有效cookie不能访问,会跳转回上一级页面,防止爬虫换ip后不携带cookie就可以直接获取数据,如果是真实用户,会从上一级页面点击访问带有保护数据的页面。
102、所述比对分析模块比对用户携带的cookie与所述cookie存储模块存储的cookie黑名单数据,当该用户携带的cookie属于所述cookie黑名单数据时拦截用户的访问请求,当该用户携带的cookie不属于所述cookie黑名单数据时执行步骤103;
103、所述比对分析模块判断该用户携带的cookie访问速度,超过速度限制则将该用户携带的cookie存储到所述cookie存储模块中更新cookie黑名单数据数据并拦截用户的访问请求,没有超过速度限制则执行步骤104;
104、所述比对分析模块判断当前请求用户的ip是否与加密cookie中的ip匹配,如果两者ip不匹配则将该加密cookie存储到所述cookie存储模块中更新cookie黑名单数据数据并拦截用户的访问请求,如果两者ip匹配则允许用户访问目标页面。
可以理解的是,上述步骤103和步骤104中速度限制判断和ip匹配判断的顺序可以互换。本实施例中加密cookie由所述cookie加密生成模块根据用户user-agent、当前时间戳和当前ip地址等关键访问参数加密生成。
具体来说,上述方法的流程为:在用户第一次访问时根据用户user-agent、当前时间戳、当前ip地址加密生成加密cookie。当用户访问时先判断其携带的有效cookie是否在黑名单中,如果在黑名单中就拦截访问。如果不在黑名单中,再判断同一cookie在一定时间内的访问次数是否超过限制次数,如果超过限制就将此cookie加入黑名单并拦截访问。如未超过限制次数,判断cookie中加密的ip地址与当前请求的ip地址是否匹配,如果不匹配,很大可能是使用了代理ip的恶意爬虫,将此cookie加入黑名单并拦截访问,如果匹配则允许访问。
上述方法中为针对用户不使用账号登陆访问目标页面情况下的防恶意爬虫方案,在本实施例中,在没有登陆的情况下访问页面也需要cookie,目标页面必须由上一级页面手动点击进入,这样可以防止爬虫先访问上一级页面获取cookie再使用程序请求url。进一步地,如果爬虫使用模拟浏览器就可以检测请求头中的user-agent属性来进行分析判断和识别。
使用上述方法,用户可以在不登陆的情况下识别爬虫,不用客户登陆,保留客户浏览的意向,同时也可以实现防爬虫效果。当然,在用户使用账号登陆的情况下也可以实现防爬虫效果,可以让用户每次访问页面时登陆,对同一账号访问过快或者频繁更换ip的情况进行拦截,如果爬虫使用账号登陆可以很快识别出来并调用验证码做人机验证,以实现账号登陆情况下的防爬虫效果。
以上仅就本发明较佳的实施例作了说明,但不能理解为是对权利要求的限制。本发明不仅局限于以上实施例,其具体结构允许有变化,总之,凡在本发明独立权利要求的保护范围内所作的各种变化均在本发明的保护范围内。
1.一种根据请求数据防爬虫系统,其特征在于:包括cookie加密生成模块、cookie存储模块和比对分析模块,所述cookie加密生成模块用于根据用户user-agent、当前时间戳、当前ip地址加密生成cookie;所述cookie存储模块用于存储cookie黑名单数据;所述比对分析模块用于比对分析当前访问cookie与cookie黑名单数据,以针对当前访问cookie执行反应操作。
2.一种根据请求数据防爬虫方法,其特征在于:采用如权利要求1所述的系统,包括如下步骤:
100、用户首次请求访问,所述cookie加密生成模块生成加密cookie并允许用户访问目标页面;
101、用户再次请求访问时,判断用户携带的cookie是否有效,cookie有效则执行步骤102,cookie无效则重新生成加密cookie再执行步骤102;
102、所述比对分析模块比对用户携带的cookie与所述cookie存储模块存储的cookie黑名单数据,当该用户携带的cookie属于所述cookie黑名单数据时拦截用户的访问请求,当该用户携带的cookie不属于所述cookie黑名单数据时执行步骤103;
103、所述比对分析模块判断该用户携带的cookie访问速度,超过速度限制则将该用户携带的cookie存储到所述cookie存储模块中更新cookie黑名单数据数据并拦截用户的访问请求,没有超过速度限制则执行步骤104;
104、所述比对分析模块判断当前请求用户的ip是否与加密cookie中的ip匹配,如果两者ip不匹配则将该加密cookie存储到所述cookie存储模块中更新cookie黑名单数据数据并拦截用户的访问请求,如果两者ip匹配则允许用户访问目标页面。
3.根据权利要求2所述的根据请求数据防爬虫方法,其特征在于:所述步骤100中的加密cookie由所述cookie加密生成模块根据用户user-agent、当前时间戳和当前ip地址等关键访问参数加密生成。
4.根据权利要求2所述的根据请求数据防爬虫方法,其特征在于:所述步骤103和步骤104中速度限制判断和ip匹配判断的顺序可以互换。
5.根据权利要求2所述的根据请求数据防爬虫方法,其特征在于:包括一上级页面,所述cookie在用户访问所述上级页面时生成。
6.一种计算机可读介质,其上存储有计算机程序,其特征在于:该程序被计算机或处理器执行以实现如权利要求2-5任一所述的方法。
技术总结