内容安全政策指令不适用于电子
Posted
技术标签:
【中文标题】内容安全政策指令不适用于电子【英文标题】:Content Security Policy directive not working on electron 【发布时间】:2021-12-06 08:27:14 【问题描述】:我尝试了一堆安全策略来连接我们的 api,但总是被拒绝。
Refused to connect to 'https://myapi...' because it violates the following Content Security Policy directive: "connect-src 'self' https://myapi.../* 'unsafe-inline' 'unsafe-eval'".
我正在使用来自电容器社区/电子的默认代码,我所做的只是为 Content-Security-Policy 尝试了一大堆不同的选项。
export function setupContentSecurityPolicy(customScheme: string): void
session.defaultSession.webRequest.onHeadersReceived((details, callback) =>
callback(
responseHeaders:
...details.responseHeaders,
'Content-Security-Policy': [
electronIsDev
? `default-src $customScheme://* https://myapi.../* 'unsafe-inline' devtools://* https://myapi.../* 'unsafe-eval' data: https://myapi.../*; script-src 'self' https://myapi.../* 'unsafe-inline' 'unsafe-eval'; connect-src 'self' https://myapi.../* 'unsafe-inline' 'unsafe-eval';`
: `default-src $customScheme://* 'unsafe-inline' data:`
]
);
);
【问题讨论】:
也尝试提供代码附件 它只是默认的电容器社区/电子,我所做的只是为 Content-Security-Policy 尝试了一大堆不同的选项。 【参考方案1】: 只能是前缀不能是后缀。使用https://myapi.../
而不是 https://myapi.../*
有效。
【讨论】:
以上是关于内容安全政策指令不适用于电子的主要内容,如果未能解决你的问题,请参考以下文章