electron 浏览器窗口控制台中的安全警告(电子版^9.2.0)

yk9xbfzb  于 2023-03-10  发布在  Electron
关注(0)|答案(2)|浏览(341)

我是electron的新手,我在打开的每个BrowserWindow的控制台(DevTools)中都看到了这个:

webFrame.executeJavaScript was called without worldSafeExecuteJavaScript enabled. This is considered unsafe. worldSafeExecuteJavaScript will be enabled by default in Electron 12.

我还收到一个安全警告,即:

Electron Security Warning (Insecure Content-Security-Policy) This renderer process has either no Content Security
    Policy set or a policy with "unsafe-eval" enabled. This exposes users of
    this app to unnecessary security risks.

我不知道我到底做错了什么...
This is my console window
This is my package.json

kyks70gy

kyks70gy1#

webFrame.执行JavaScript和上下文隔离

将以下设置添加到main.js中的BrowserWindow

webPreferences { worldSafeExecuteJavaScript: true, contextIsolation: true }

有关参考,请参见:

  • https://www.electronjs.org/docs/api/browser-window#class-browserwindow

不安全的内容安全策略

将以下内容添加到index.html和任何其他html页(如果您正在本地加载)的头部

<meta http-equiv="Content-Security-Policy" content="script-src 'self'">

有关参考,请参见:

l7wslrjt

l7wslrjt2#

你得到这个的原因是因为你没有CSP头文件。CSP头文件确保你只加载你想加载的东西(没有来自其他站点的脚本,等等)。这对安全性来说是一个巨大的打击
1.首先,添加CSP策略,如下所示:

<meta http-equiv="Content-Security-Policy" content="default-src 'self'">

1.参见电子documentation on security.

相关问题