Electron加载资源失败

yiytaume  于 2022-12-25  发布在  Electron
关注(0)|答案(3)|浏览(495)

我使用https://github.com/pbarbiero/basic-electron-react-boilerplate,但在我的macOS上更新后,我无法再加载我的应用程序。
在Inspector上,显示此错误:
拒绝执行内联脚本,因为它违反了以下内容安全策略指令:"default-src 'self'"。启用内联执行需要" unsafe-inline "关键字、哈希(" sha256-Z + HxFhVCHMznEI/lLsU2FT9krRiVCTm6bGApEd5HAtk =')或随机数("nonce-...")。另请注意,未显式设置"script-src",因此"default-src"用作回退。
无法加载资源:服务器以状态404(未找到)响应
I tried this technique https://electronjs.org/docs/tutorial/security#csp-http-header but got same error.
我的macOS版本是Mojave 10.14.2(18C54)

vlju58qv

vlju58qv1#

我修好了

new HtmlWebpackPlugin({
  'meta': {
    'Content-Security-Policy': { 'http-equiv': 'Content-Security-Policy', 'content': "script-src 'self' 'unsafe-inline'; object-src 'self'" },
  }
}),
vql8enpb

vql8enpb2#

有同样的问题,我想我找到了一个修复它。正如警告消息所建议的,内联脚本被阻止,因为他们违反了内容安全策略(CSP)。
CSP在www/index.html中定义:元数据http-equiv ="内容安全策略..."
变化
脚本源代码 * 数据:https://ssl.gstatic.com "不安全-评价";在内容字符串中
脚本源代码 * 数据:https://ssl.gstatic.com '不安全内联''不安全赋值';
帮我修好了。
More info here: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#Unsafe_inline_script

bttbmeg0

bttbmeg03#

在我的示例中,内容安全策略位于electron/src/setup.js中

function setupContentSecurityPolicy(customScheme) {
  electron_2.session.defaultSession.webRequest.onHeadersReceived((details, callback) => {
    callback({
      responseHeaders: Object.assign(Object.assign({}, details.responseHeaders), {
        'Content-Security-Policy': [
          // electron_is_dev_1.default
          //     ? `default-src ${customScheme}://* 'unsafe-inline' devtools://* 'unsafe-eval' data:`
          //     : `default-src ${customScheme}://* 'unsafe-inline' data:`,
        ]
      }),
    });
  });
}

我已经删除它已经工作,但它是不安全的更多细节electron security docs

相关问题