Electron contextIsolation
contextIsolation 用于把 preload 与页面脚本运行在不同上下文里,是现代 Electron 的核心安全边界之一。
#tech / dev / desktop
#resource / electron
#type / concept
#status / growing
[!info] related notes
- 所属 MOC: Electron MOC
- 前置概念: Electron preload 脚本, Electron BrowserWindow
- 并列概念: Electron 进程沙箱, Electron 安全检查清单
- 易混淆概念: Electron 进程沙箱
- 关系笔记: Electron
Electron contextIsolation
一句话定义
contextIsolation 的作用是把 preload 和页面脚本放进不同的 JavaScript 上下文,防止页面直接篡改高权限桥接层。
核心内容
它解决什么问题
如果 preload 和页面共享同一个上下文,那么页面脚本更容易碰到、篡改或滥用本该由 preload 受控暴露的能力。
开启隔离后:
- 页面看到的是受控暴露出来的接口
- preload 自己运行在独立上下文
为什么它重要
现代 Electron 的推荐安全基线里,contextIsolation 不是锦上添花,而是核心边界。
它决定 preload 能不能真正充当“桥”,而不是“和页面混在一起的高权限脚本”。
边界与易混淆点
- contextIsolation 不等于 renderer 完全沙箱化
- 开了 contextIsolation,也不代表可以放心把危险能力直接暴露给页面
- 它解决的是上下文隔离,不替代最小权限设计