在 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/