首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome扩展和CSP

Chrome扩展和CSP
EN

Stack Overflow用户
提问于 2022-05-10 12:59:19
回答 2查看 334关注 0票数 0

我有一个流行的Chrome扩展,在使用CSP的网站上失败。

根据用户配置的一些设置,该扩展丰富了我的用户访问的站点上的内容。

在具有CSP策略的站点上,执行JS时会出现以下错误:This document requires 'TrustedScriptURL' assignment

我如何在这些站点上运行我的扩展--我可以使用这个站点的CSP f.ex吗?或者这会是一种糟糕的做法吗?

EN

回答 2

Stack Overflow用户

发布于 2022-11-24 11:16:25

总比没有好。在MV3中,Chrome提供了一个declarativeNetRequest API,允许您更改请求头(响应和请求)。更多- declarativeNetRequest。例如,此规则完全禁用传入请求的CSP (移除CSP标头):

代码语言:javascript
复制
//manifest.json
...
  "permissions": [
    "declarativeNetRequest", 
    "declarativeNetRequestWithHostAccess", 
    "declarativeNetRequestFeedback",
    "scripting",
    "activeTab"
  ],
  "declarative_net_request": {
    "rule_resources": [
      {
        "id": "ruleset_1",
        "enabled": true,
        "path": "rules.json"
      }
    ]
  }
...
//rules.json
[
  {
    "id": 1,
    "priority": 1,
    "action": {
      "type": "modifyHeaders",
      "responseHeaders": [
        {"header": "Content-Security-Policy", "operation": "remove"}
      ]
    },
    "condition": {
      "urlFilter": "|http*",
      "resourceTypes": ["script", "main_frame", "sub_frame"]
    }
  }
]

小心点!您的目标不是禁用CSP,而是将其设置为可以加载/执行内容。

票数 0
EN

Stack Overflow用户

发布于 2022-05-10 13:19:29

也许你可以试试这个

代码语言:javascript
复制
<meta
    http-equiv="Content-Security-Policy"
    content=" default-src 'self' http://* https://*;
  connect-src 'self' http://* https://*; 
  img-src 'self' http://* https://*;"
  />

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72186787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档