检测是否爬虫方在调试的方法:
1.是否打开了F12(键盘监听)
2.检测浏览器内外的高度差值(下图分别指外高和内高)
3.检测开发者人员工具的变量是否为true
4.利用console.log()打印某值的次数(将此方法写进代码中,打开F12的话,这个打开次数是不一样的)
5.利用代码的时间差(调试打断点再运行,断点上下的代码,其运行时间就变长了)
6.利用toString检测
7.检测栈的层数
8.检测费浏览器
1.分类
显性:能明确感受,页面在阻碍我们在对其进行调试
1).debugger ——如果不开F12会默认跳过
方法:
1.非虚拟机(以下js文件就是非虚拟机打开的,如果是虚拟机,名字会变得带个v…)右键设置false/直接替换代码
-
替换方法
——1.谷歌内核浏览器默认提供 //该js代码必须是网上在线的代码 //在Source选项卡中找到重写面板Overrides, >>>+Select folder for ovverrides//选一个文件夹 //找到该文件,文件名处右键点击,选择=》 >>>Save for overrides,表头文件名处会出现一个紫色的小符号 //这个状态下就可以对js代码进行修改,再运行就被写入了
2.虚拟机(eval Function)
2).死循环,循环语句 无限递归 两个方法互相调用 计时器(嵌套打开新页面,写你的历史记录,操作url地址等方法)
//死循环语句
for(;;)
while(true)
//计时器
- 隐形:又称暗桩,将调试者影响错误的逻辑