自动化工具也可以影响浏览器指纹

浏览器指纹识别

浏览器指纹检测是一种识别和跟踪用户的技术,它通过收集浏览器和设备的信息(如User-Agent、屏幕分辨率、字体等)来生成一个唯一的“指纹”。同时,该技术也可以用来识别浏览器是真人控制还是由自动化工具控制。

例如,使用Selenium控制浏览器时,会在window对象上添加一个名为_selenium的属性。而Puppeteer在自动化Chrome时,会设置window.navigator.webdriver属性为true。通过检查这些属性,网站可以判断用户是否在使用自动化工具。

其次,自动化工具的操作往往非常规则和迅速,与正常用户的行为有明显的区别。例如,人类用户在填写表单时,通常会在每次键入字符后有短暂的停顿,而自动化工具则可能在极短的时间内填写完整个表单。通过分析这些行为,网站可以判断用户是否在使用自动化工具。

总之,网站会采取各种指纹识别技术去甄别用户,一旦发现用户是“机器人”,那么该账号有可能会被封禁,或者IP地址被拉黑等等。

 

自动化工具如何影响浏览器的指纹

Selenium与Puppeteer是常用的自动化工具。

Selenium支持多种浏览器(Chrome、Firefox、Safari),通过WebDriver与浏览器进行通信,可以通过各种编程语言(如Java、Python、C#等)来控制浏览器。它可以模拟人类用户的各种行为,如点击、滚动、填写表单等。

Puppeteer通过DevTools协议与Chrome或Chromium浏览器进行通信。这种协议允许Puppeteer访问浏览器的许多内部功能,包括网络请求拦截、生成PDF、截屏等。

 

当使用这些技术操作浏览器的时候,会对浏览器的指纹产生影响:

User-Agent

使用Selenium与Puppeteer,可以设置浏览器的User-Agent,如果您自定义的User-Agent不符合常规或者不合理,可能会被网站认为是机器人。

JavaScript环境

Selenium或Puppeteer在控制浏览器时,会设置window.navigator.webdriver属性为true。这是一种标准的方式,用于让网站知道浏览器正在被自动化工具控制。然而,这也意味着任何可以执行JavaScript的网站都可以检测到这个属性。

特征码

使用Selenium控制浏览器时,会留下很多带有“selenium”的字符特征码,网站只要识别到这些,那么该用户无疑就是被Selenium控制的了:

webdriver  
__driver_evaluate  
__webdriver_evaluate  
__selenium_evaluate  
__fxdriver_evaluate  
__driver_unwrapped  
__webdriver_unwrapped  
__selenium_unwrapped  
__fxdriver_unwrapped  
_Selenium_IDE_Recorder  
_selenium  
calledSelenium  
_WEBDRIVER_ELEM_CACHE  
ChromeDriverw  
driver-evaluate  
webdriver-evaluate  
selenium-evaluate  
webdriverCommand  
webdriver-evaluate-response  
__webdriverFunc  
__webdriver_script_fn  
__$webdriverAsyncExecutor  
__lastWatirAlert  
__lastWatirConfirm  
__lastWatirPrompt  

 

可以绕过自动化检测吗?

其实是可以的,只要您在编写脚本的时候注意去掉带有机器人特征的代码或字符串,在脚本控制浏览器的时候,尽可能的模拟人类的操作,增加延时等等。

 

在您使用自动化脚本访问目标网站之前,您可以借助BrowserScan的自动化检测工具,检测您的浏览器是否跟真人用户一样。

点击“检测”打开BrowserScan的自动化检测工具

 

BrowserScan显示WebDriver、WebDriver Advance、Selenium等机器人检测正常

 

 

如果您想了解更多的浏览器指纹知识,可以阅读我们为您准备的指纹系列文章:

  1. 浏览器指纹入门指南
  2. IP地址
  3. UserAgent
  4. WebRTC
  5. Canvas指纹
  6. Do Not Track 不跟踪
  7. WebGL指纹
  8. 媒体设备指纹&音频指纹
  9. Client Rects指纹&字体指纹
  10. 地理位置
  11. 语言
  12. 端口扫描
  13. 自动化检测
上一个
深入理解IP时区、IP地址时间与系统时间
下一个
什么是端口扫描,跟隐私与安全有关系吗?
最近修改: 2024-06-28Powered by