【问题标题】:how to set multiple Content Security Policies in a chrome extension manifest.json file如何在 chrome 扩展 manifest.json 文件中设置多个内容安全策略
【发布时间】:2019-04-12 10:40:48
【问题描述】:

在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' 用作备用。

【问题讨论】:

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


    【解决方案1】:

    CSP 策略是单个字符串(包含以分号分隔的 指令 列表及其参数)。它适用于所有扩展页面。

    如果您需要包含多个来源的单一政策,您可以这样做。事实上,你已经有了:'self' 和 https://example.com 是两个来源。

    阅读有关 CSP 的一般信息和 script-src 指令,例如on the MDN.

    语法

    script-src 政策可以允许一个或多个来源:

    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 不行。

    如果你需要针对不同页面的多个独立策略,恐怕你做不到。

    【讨论】:

      猜你喜欢
      • 2015-09-02
      • 2013-02-01
      • 2021-09-24
      • 2022-11-09
      • 2013-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-06
      相关资源
      最近更新 更多