json - 如何在 chrome 扩展 manifest.json 文件中设置多个内容安全策略

标签 json google-chrome-extension manifest manifest.json

Google chrome documentation我发现我可以添加内容安全策略以允许外部 javascript 文件在我的扩展程序上工作。

但我找不到如何添加多个。它是一个字符串数组吗?

"content_security_policy": "script-src 'self' https://example.com; object-src 'self'"

我试图像这样放置多行,但它不起作用。去错误:

拒绝加载脚本 https://example.com因为它违反了以下内容安全策略指令:“script-src 'self' https://example.com”。请注意,'script-src-elem' 未明确设置,因此使用 'script-src' 作为后备。

最佳答案

CSP 策略是单个字符串(包含以分号分隔的指令及其参数列表)。它适用于所有扩展页面。
如果您需要具有多个来源的单一策略,您可以这样做。事实上,你已经有了:'self'https://example.com是两个来源。
阅读有关 CSP 的一般信息和 script-src指令,例如on the MDN .

Syntax

One or more sources can be allowed for the script-src policy:

Content-Security-Policy: script-src <source>;
Content-Security-Policy: script-src <source> <source>;

所以你只需要在 script-src 之间用空格分隔它们和分号。
确保您的源不包含路径。
例如。 https://example.com可以,但是 https://example.com/https://example.com/script.js不是。
如果您需要针对不同页面的多个独立策略,恐怕您无法做到。

关于json - 如何在 chrome 扩展 manifest.json 文件中设置多个内容安全策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55649819/

相关文章:

javascript - D3 强制布局 - 按名称而不是索引链接节点

json - ' fatal error : unexpectedly found nil while unwrapping an Optional value' when reading from JSON

python - 从 python 列表中删除重复的 JSON 对象

java - 使用 Eclipse 将 list 添加到 JAR 时 header 字段名称无效

amazon-web-services - 无法解析自定义 AWS Ground Truth 标记作业 list JSONL 文件

asp.net - jquery getJson 未将任何值传递给 Controller

google-chrome - chrome.tabs 问题与 chrome.tabs.update 和 chrome.tabs.executeScript

javascript - 在 Chrome 扩展应用程序中存储设置的位置

google-chrome - Chrome 扩展 : Unchecked runtime. lastError:无法解析或设置名为 "ASP.NET_SessionId"的 cookie

jar - 在JAR中将Kotlin .kt类打包