gpt4 book ai didi

javascript - 在 Electron 中设置 CSP 元标记时 "Content Security Policy of your site blocks the use of ' eval ' in JavaScript"警告

转载 作者:行者123 更新时间:2023-12-03 13:23:30 31 4
gpt4 key购买 nike

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

Content Security Policy of your site blocks the use of 'eval' in JavaScript

The Content Security Policy (CSP) prevents the evaluation of arbitrary strings as JavaScript to make it more difficult for an attacker to inject unauthorized code on your site.

To solve this issue, avoid using eval(), new Function(), setTimeout([string], ...) and setInterval([string], ...) for evaluating strings.


没有 eval我自己的代码中存在调用或其他字符串评估情况。这个问题没有提供任何关于是什么代码导致它的线索,我尝试使用 'report-sample'值对输出没有影响。在 Chrome 中打开 HTML 文件时不会出现此问题。
我可以用一个非常基本的应用程序重新创建警告。
main.js
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", createWindow);
索引.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'">
<title>Document</title>
</head>
<body>
<h1>CSP Issue Test</h1>
</body>
</html>
我想了解为什么会出现此问题并解决它,而不仅仅是抑制警告。

最佳答案

基于 Electron Github repo 的 issues , "此日志消息目前预计在开发中,如果您运行打包的应用程序,它将不会出现。"这是根据 Electron 贡献者之一的说法。
这个问题现在已经关闭,但它仍然活跃,一些用户说它有点令人困惑(我同意)。基于此,我认为我们只是在开发过程中忽略了它。当根据贡献者打包应用程序时,它应该会消失,尽管我自己没有对此进行测试。

关于javascript - 在 Electron 中设置 CSP 元标记时 "Content Security Policy of your site blocks the use of ' eval ' in JavaScript"警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65445255/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com