You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

网站如何检测Chromium内核的Electron等客户端并非真实Chrome浏览器?

Electron环境被站点识别的常见检测维度
  • Electron特有全局对象特征
    即便关闭nodeIntegration,Electron环境仍可能残留独有变量,比如window.process、window.electron、window.require等。就算手动删除这些显性变量,window.chrome对象的实现也和原生Chrome存在本质差异:原生Chrome的chrome.runtime、chrome.webstore等接口是完整实现的,Electron下的同类接口要么缺失要么返回值不符合预期,很容易被检测脚本捕捉。另外navigator.plugins、navigator.mimeTypes的列表也存在差异,原生Chrome会内置PDF阅读器等默认插件,Electron的默认插件列表和原生Chrome不一致。
  • 底层浏览器指纹特征不匹配
    表层navigator属性和UA可以被修改,但大量底层指纹容易被忽略:
    • navigator.webdriver属性:Electron默认该值为true,原生正常运行的Chrome该值为undefined或false
    • 硬件相关指纹:navigator.deviceMemory、navigator.hardwareConcurrency、屏幕色域、色深、分辨率等参数如果和UA对应的设备环境不匹配,会被标记异常
    • Canvas/WebGL指纹:Electron内置的Chromium渲染逻辑和官方Chrome存在细微像素偏差,WebGL返回的vendor、renderer标识也可能携带Electron相关特征,反爬脚本会将采集到的指纹和官方Chrome样本库比对,不一致就会触发拦截
  • 请求层特征差异
    除了UA之外,请求层的多个维度也会暴露Electron环境:
    • 客户端提示头(Client Hints):Sec-CH-UA、Sec-CH-UA-Platform等头默认会携带Electron的版本标识,或者和UA中声明的Chrome版本不匹配
    • 请求头顺序:Electron发起请求时的Header排序规则和原生Chrome存在差异,很多反爬服务会校验Header的顺序特征
    • JA3/TLS指纹:Electron的Chromium内核在TLS握手时的加密套件列表、扩展顺序和官方Chrome不同,服务端可以通过JA3指纹直接识别出非原生Chrome环境
  • 运行时行为特征
    反爬脚本会在页面加载后采集前置交互行为,比如鼠标移动轨迹、滚动动作、页面停留时长等,如果页面加载后没有任何正常人类交互就触发登录请求,也会被机器人检测拦截。

内容的提问来源于stack exchange,提问作者Ian W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 19:09:03