一种识别web自动化工具的设备、装置及方法制造方法及图纸

技术编号:14265357 阅读:37 留言:0更新日期:2016-12-23 10:33
本发明专利技术公开一种识别web自动化工具的设备、装置及方法。其中,识别web自动化工具的设备,包括:存储器和处理器;所述存储器,存储javascript检测脚本;所述处理器,向页面中预置所述存储器存储的javascript检测脚本,获取页面访问方运行页面中javascript检测脚本出错时的函数调用栈,从所述函数调用栈中查找出设定特征,通过所述设定特征确定所述页面访问方为web自动化工具。本发明专利技术提供的方案,能比较有效地识别出web自动化工具。

【技术实现步骤摘要】

本专利技术涉及移动互联网
,具体涉及一种识别web自动化工具的设备、装置及方法
技术介绍
随着移动互联网应用的不断发展,金融、应用服务提供商、电子商务及政府单位等各类机构都将其业务系统移植到web上来。因为越来越多地承载各类客户的核心业务,web成为互联网上最主要的信息发布平台。但是,越来越多的web自动化工具也被开发出来,这些web自动化工具有时会被一些恶意访问者用于作弊。例如某些恶意访问者,用web自动化工具访问web页面,用程序代码构造出用户行为(如点击或拖动鼠标、键盘输入字符、在触屏上点击或拖动等),去参与页面上的活动、发垃圾帖和垃圾评论、进行刷单或刷赞、领取虚拟物品等资源,整个过程几乎全是程序自动化完成的,无需访问者像正常用户那样手动操作。这些利用web自动化工具完成的作弊行为,会给互联网产品服务提供方,带来经济损失以及口碑上的负面影响,同时也有损正常用户的体验。因此,如何识别这类web自动化工具,是当前面临的一个重要问题。现有的针对web自动化工具的识别方法,仅能检测一些较明显的特征,且这些特征很容易被攻击者规避。例如,现有的传统识别方法是读取访问者所使用的浏览器的一些全局变量,如浏览器用户代理navigator.userAgent字符串,判断其中是否带有web自动化工具的关键字,根据带有web自动化工具的关键字判断出该浏览器为web自动化工具。但是,不少web自动化工具可以轻易修改自己的navigator.userAgent,伪装成正常的浏览器。另外,越来越多的web自动化工具也带有沙箱机制,其加载的web页面完全运行在沙箱环境中,沙箱环境跟正常浏览器环境极为相似,即使发现了沙箱内某种微妙的环境差异,如某个全局属性与正常浏览器不同,恶意访问者也能很轻易地通过修改沙箱内对应的环境变量,从而迅速规避被检测和识别。综上所述,现有的识别web自动化工具的方法还无法十分有效地识别出web自动化工具。
技术实现思路
为解决上述技术问题,本专利技术提供一种识别web自动化工具的设备、装置及方法,能比较有效地识别出web自动化工具。根据本专利技术的一个方面,提供一种识别web自动化工具的设备,包括:存储器和处理器;所述存储器,存储javascript检测脚本;所述处理器,向页面中预置所述存储器存储的javascript检测脚本,获取页面访问方运行页面中javascript检测脚本出错时的函数调用栈,从所述函数调用栈中查找出设定特征,通过所述设定特征确定所述页面访问方为web自动化工具。优选的,所述处理器从所述函数调用栈的沙箱内调用栈和/或跨沙箱调用栈中查找出设定特征。根据本专利技术的另一个方面,提供一种识别web自动化工具的装置,包括:获取模块,用于获取页面访问方运行页面中javascript检测脚本出错时的函数调用栈,其中所述javascript检测脚本预置于所述页面当中;查找模块,用于从所述获取模块获取的函数调用栈中查找出设定特征;识别模块,用于通过所述查找模块查找的设定特征确定所述页面访问方为web自动化工具。优选的,所述查找模块包括:第一查找子模块,用于从所述函数调用栈的沙箱内调用栈中查找出设定特征;和/或,第二查找子模块,用于从所述函数调用栈的跨沙箱调用栈中查找出设定特征。优选的,所述识别模块根据所述第一查找子模块查找到所述函数调用栈的沙箱内调用栈中缺少异常类型或存在全局代码关键字,确定所述页面访问方为web自动化工具。优选的,所述识别模块根据所述第二查找子模块查找到所述函数调用栈的跨沙箱调用栈中存在web自动化工具关键字、求值关键字或全局作用域关键字,确定所述页面访问方为web自动化工具。优选的,所述装置还包括:预置模块,用于在所述页面中预置javascript检测脚本,在所述预置的javascript检测脚本中设置代理文档对象模型DOM标准方法的代理方法供所述页面访问方调用。优选的,所述预置模块在所述代理方法中重写设定标准方法,以使得所述设定标准方法的返回值与所述DOM标准方法的同名方法的返回值保持相同。优选的,所述预置模块在所述代理方法中设置主动抛出设定类型的异常。优选的,所述获取模块在页面访问方调用页面中javascript检测脚本的代理方法且所述代理方法抛出设定类型的异常后,获取所述异常中包含的完整的函数调用栈,所述函数调用栈含有描述从最外层的调用函数到最内层的被调用函数中的异常抛出点的信息;所述查找模块通过解析所述函数调用栈中的异常抛出点的信息,查找所述函数调用栈是否含有设定特征。根据本专利技术的另一个方面,提供一种识别web自动化工具的方法,包括:获取页面访问方运行页面中javascript检测脚本出错时的函数调用栈,其中所述javascript检测脚本预置于所述页面当中;从所述函数调用栈中查找出设定特征;通过所述设定特征确定所述页面访问方为web自动化工具。优选的,所述从所述函数调用栈中查找出设定特征,包括:从所述函数调用栈的沙箱内调用栈和/或跨沙箱调用栈中查找出设定特征。优选的,所述通过所述设定特征确定所述页面访问方为web自动化工具,包括:根据所述函数调用栈的沙箱内调用栈中缺少异常类型或存在全局代码关键字,确定所述页面访问方为web自动化工具。优选的,所述通过所述设定特征确定所述页面访问方为web自动化工具,包括:根据所述函数调用栈的跨沙箱调用栈中存在web自动化工具关键字、求值关键字或全局作用域关键字,确定所述页面访问方为web自动化工具。优选的,所述方法还包括:在所述javascript检测脚本中设有代理文档对象模型DOM标准方法的代理方法供所述页面访问方调用。优选的,所述代理方法中的设定标准方法被重写,以使得所述设定标准方法的返回值与所述DOM标准方法的同名方法的返回值保持相同。优选的,所述方法还包括:在所述代理方法中设置主动抛出设定类型的异常。优选的,所述获取页面访问方运行页面中javascript检测脚本出错时的函数调用栈,包括:在页面访问方调用页面中javascript检测脚本的代理方法且所述代理方法抛出设定类型的异常后,获取所述异常中包含的完整的函数调用栈,所述函数调用栈含有描述从最外层的调用函数到最内层的被调用函数中的异常抛出点的信息;所述从所述函数调用栈中查找出设定特征,包括:通过解析所述函数调用栈中的异常抛出点的信息,查找所述函数调用栈是否含有设定特征。可以发现,本专利技术实施例的技术方案,在页面中预置设定的javascript检测脚本,当页面访问方访问页面时会运行所述页面中预置的javascript检测脚本,那么通过获取页面访问方运行javascript检测脚本出错时的函数调用栈,就可以从所述函数调用栈中查找出设定特征,通过设定特征确定所述页面访问方为web自动化工具,从而使得即使web自动化工具带有沙箱机制,也可以基于函数调用栈所查找出的设定特征识别出web自动化工具,因此本专利技术实施例的技术方案能比较有效地识别出web自动化工具。进一步的,本专利技术实施例中,可以根据从所述函数调用栈的沙箱内调用栈和/或跨沙箱调用栈中查找出的设定特征确定所述页面访问方为web自动化工具,也就是说,可以仅利用沙箱内调用栈,或仅利用跨沙箱调用栈,或同时利用沙箱内调用栈和跨本文档来自技高网
...
一种识别web自动化工具的设备、装置及方法

【技术保护点】
一种识别web自动化工具的设备,其特征在于,包括:存储器和处理器;所述存储器,存储javascript检测脚本;所述处理器,向页面中预置所述存储器存储的javascript检测脚本,获取页面访问方运行页面中javascript检测脚本出错时的函数调用栈,从所述函数调用栈中查找出设定特征,通过所述设定特征确定所述页面访问方为web自动化工具。

【技术特征摘要】
1.一种识别web自动化工具的设备,其特征在于,包括:存储器和处理器;所述存储器,存储javascript检测脚本;所述处理器,向页面中预置所述存储器存储的javascript检测脚本,获取页面访问方运行页面中javascript检测脚本出错时的函数调用栈,从所述函数调用栈中查找出设定特征,通过所述设定特征确定所述页面访问方为web自动化工具。2.根据权利要求1所述的设备,其特征在于:所述处理器从所述函数调用栈的沙箱内调用栈和/或跨沙箱调用栈中查找出设定特征。3.一种识别web自动化工具的装置,其特征在于,包括:获取模块,用于获取页面访问方运行页面中javascript检测脚本出错时的函数调用栈,其中所述javascript检测脚本预置于所述页面当中;查找模块,用于从所述获取模块获取的函数调用栈中查找出设定特征;识别模块,用于通过所述查找模块查找的设定特征确定所述页面访问方为web自动化工具。4.根据权利要求3所述的装置,其特征在于,所述查找模块包括:第一查找子模块,用于从所述函数调用栈的沙箱内调用栈中查找出设定特征;和/或,第二查找子模块,用于从所述函数调用栈的跨沙箱调用栈中查找出设定特征。5.根据权利要求4所述的装置,其特征在于:所述识别模块根据所述第一查找子模块查找到所述函数调用栈的沙箱内调用栈中缺少异常类型或存在全局代码关键字,确定所述页面访问方为web自动化工具。6.根据权利要求4所述的装置,其特征在于:所述识别模块根据所述第二查找子模块查找到所述函数调用栈的跨沙箱调用栈中存在web自动化工具关键字、求值关键字或全局作用域关键字,确定所述页面访问方为web自动化工具。7.根据权利要求3所述的装置,其特征在于,所述装置还包括:预置模块,用于在所述页面中预置javascript检测脚本,在所述预置的javascript检测脚本中设置代理文档对象模型DOM标准方法的代理方法供所述页面访问方调用。8.根据权利要求7所述的装置,其特征在于:所述预置模块在所述代理方法中重写设定标准方法,以使得所述设定标准方法的返回值与所述DOM标准方法的同名方法的返回值保持相同。9.根据权利要求7所述的装置,其特征在于:所述预置模块在所述代理方法中设置主动抛出设定类型的异常。10.根据权利要求7所述的装置,其特征在于:所述获取模块在页面访问方调用页面中javascript检测脚本的代理方法且所述代理...

【专利技术属性】
技术研发人员:程龙
申请(专利权)人:广州爱九游信息技术有限公司
类型:发明
国别省市:广东;44

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

1