小编Jac*_*kel的帖子

在 Electron 中设置 CSP 元标记时,“您网站的内容安全策略阻止在 JavaScript 中使用‘eval’”警告

我正在创建一个 Electron 应用程序,并且根据Electron 安全教程,我添加了一个 CSP 元标记。运行应用程序时,这个问题出现在 devtools 中。

您站点

的内容安全策略阻止在 JavaScript 中使用“eval”内容安全策略 (CSP) 可防止将任意字符串评估为 JavaScript,从而使攻击者更难在您的站点上注入未经授​​权的代码。

为了解决这个问题,应避免使用eval()new Function()setTimeout([string], ...)setInterval([string], ...)评估字符串。

eval来电或字符串评估的其他情况下,存在于我自己的代码。该问题没有提供任何关于导致它的代码的线索,我尝试使用该'report-sample'值对输出没有影响。在 Chrome 中打开 HTML 文件时不会出现此问题。

我可以用一个非常基本的应用程序重新创建警告。

主文件

const path = require("path");
const { app, BrowserWindow } = require("electron");

const createWindow = () => {
  let mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      contextIsolation: true,
      nodeIntegration: false,
    }
  });

  mainWindow.loadURL(`file://${path.join(__dirname, "/index.html")}`);
};

app.on("ready", …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome-devtools content-security-policy electron

11
推荐指数
1
解决办法
4422
查看次数