The invention is a method for detecting a simulator based on JavaScript stack information. The method includes: acquiring stack information of current access user executing JavaScript errors; stack information of current access user executing JavaScript errors and stack letters of multiple simulators executing JavaScript errors. If the stack information of one or more simulators is successfully matched, the current access user is judged to be the matching type simulator. If no matching object is found, the access user is judged to be the normal access user using a certain browser. Finally, the simulator class is obtained. Type handles current access users. Traditional detection methods can be bypassed by experienced crawlers by adding some masquerade code spoofing scripts. The stack information of JavaScript is dynamically provided by the language runtime. It can not be directly tampered with by scripts in the simulator with confusing encryption of the front-end code, which has a good hiding effect.
【技术实现步骤摘要】
基于JavaScript堆栈信息检测模拟器的方法
本专利技术具体涉及基于JavaScript堆栈信息检测模拟器的方法。
技术介绍
软件自动化测试的发展诞生了许多优秀的测试工具,比如安卓、浏览器的模拟器。测试人员通过编程来驱动模拟器打开应用、网页,点击按钮、提交表单,还能发送鼠标和键盘的动作事件来模拟真实的用户行为。这种模拟器测试工具有广泛的使用价值,比如作为爬虫来高频次的恶意访问某网站,产生大量的垃圾注册用户等。目前现有的区分正常浏览器用户和模拟器的方法如下表所示。但上述目前的方法均存在不小的技术缺陷,userAgent的缺点是模拟器都可以很轻易的修改成为任意正常的userAgent;plugins的缺点是模拟器可以在页面加载前将plugins设置为一个合理的值;callPhantom_phantom...的缺点是模拟器可以在页面加载前将这些属性和方法删除,并定义为不可枚举;alert判断延迟的缺点是网站弹出对话框会立即卡住页面,造成极不友好的用户体验模拟器也提供接口,可以设置页面弹框如何下一步操作;浏览器功能检测的缺点是在低版本浏览器中不可用,该检测在使用真实UI的模拟器中无效,兼容性检测的数量庞大,对比没有针对性,也没有特别有效的区分模拟器的方案,因为userAgent对应关系过多;用户行为跟踪的缺点是模拟器可以随机产生一些简单的点到点之间的鼠标移动,大多数Web开发人员并不熟悉如何区分判断出机器的行为轨迹,一般由某些安全服务公司提供,该检测在手机移动端会失效,因为触摸屏在单页操作时没有指针移动等滑屏操作。本专利技术可以通过分析堆栈信息来识别出特定的模 ...
【技术保护点】
1.基于JavaScript堆栈信息检测模拟器的方法,其特征在于,所述方法包括:S1、获取当前访问用户执行JavaScript发生错误时的堆栈信息;S2、对当前访问用户执行JavaScript发生错误时的堆栈信息与预设的多种模拟器在执行JavaScript发生错误时的堆栈信息进行匹配,若成功匹配到一种或多种模拟器在执行JavaScript发生错误时的堆栈信息,则判断当前访问用户为该匹配类型模拟器,进入步骤S3,若无成功匹配对象,则判断当前访问用户为使用某种浏览器的正常用户;S3、对当前访问用户进行处理。
【技术特征摘要】
1.基于JavaScript堆栈信息检测模拟器的方法,其特征在于,所述方法包括:S1、获取当前访问用户执行JavaScript发生错误时的堆栈信息;S2、对当前访问用户执行JavaScript发生错误时的堆栈信息与预设的多种模拟器在执行JavaScript发生错误时的堆栈信息进行匹配,若成功匹配到一种或多种模拟器在执行JavaScript发生错误时的堆栈信息,则判断当前访问用户为该匹配类型模拟器,进入步骤S3,若无成功匹配对象,则判断当前访问用户为使用某种浏览器的正常用户;S3、对当前访问用户进行处理。2.根据权利要求1所述的基于JavaScript堆栈信息检测模拟器的方法,其特征在于,所述访问用户具体是指浏览器或模拟器。3.根据权利要求1所述的基于JavaScript堆栈信息检测模拟器的方法,其特征在于,所述步骤S2中匹配一种...
【专利技术属性】
技术研发人员:王济旺,
申请(专利权)人:武汉极意网络科技有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。