为了在加载远程内容时提供适当的安全级别,声明必须分别启用和禁用BrowserWindow
的contextIsolation
和nodeIntegration
选项。在这种情况下,Node / Electron API将对主渲染器进程不可用。为了公开特定的功能,窗口的预加载脚本可以利用Electron的contextBridge
功能,从而使主渲染器可以访问选定的Node / Electron API。
尽管在Electron文档中提供了信息,但总体上缺少contextBridge
用法的具体示例。通常,现有的文档/教程在实现Electron应用程序时并不专注于采用安全实践。
以下是我设法在网上找到的一个contextBridge
用法示例:https://github.com/reZach/secure-electron-template
您是否能够提供其他资源/示例,这些示例/示例可能对实现安全的Electron应用程序(依赖于contextBridge
功能)有用?
对contextBridge
最佳实践的见解也受到高度赞赏。
这里是使用contextBridge
的项目的示例: