浏览器扩展无法绕过targetB网站CSP限制重定向指定JavaScript URL的问题求助
浏览器扩展无法绕过targetB网站CSP限制重定向指定JavaScript URL的问题求助
大家好,我最近在开发一款基于Manifest V3的Chrome浏览器扩展时遇到了一个棘手的问题,想请各位帮忙排查一下:
我需要重定向两个目标网站的特定JavaScript URL,其中targetA的重定向功能正常生效,但targetB始终无法工作。排查后发现,targetB的HTML文件中设置了CSP(内容安全策略),这个策略限制了我要重定向的JavaScript URL请求。我尝试过用modifyHeader规则来移除X-Frame-Options和Content-Security-Policy响应头,但完全没有效果。推测targetA没有启用CSP限制,所以重定向能正常运行。
下面是我的扩展配置文件,麻烦各位帮忙看看哪里可能出了问题:
manifest.json 文件
{ "manifest_version": 3, "name": "non-declarative-net-request", "version": "1.0.0", "permissions": [ "activeTab", "declarativeNetRequest", "declarativeNetRequestWithHostAccess", "nativeMessaging", "webRequest", "webRequestBlocking" ], "host_permissions": [ "<all_urls>" ], "background": { "scripts": [ "background.js" ] }, "content_scripts": [ { "matches": [ "*://*.targetA.com/*", "*://targetB.org/*" ], "js": [ "src/main/js/index.js" ] } ], "declarative_net_request": { "rule_resources": [ { "id": "ruleset_1", "enabled": true, "path": "rules.json" } ] } }
rules.json 文件
[ { "id": 1, "priority": 1, "action": { "type": "modifyHeaders", "responseHeaders": [ { "header": "X-Frame-Options", "operation": "remove" }, { "header": "Content-Security-Policy", "operation": "remove" } ] }, "condition": { "urlFilter": "*://targetB.org/*", "resourceTypes": [ "main_frame", "sub_frame", "object", "script", "xmlhttprequest", "csp_report", "other" ] } }, { "id": 2, "priority": 1, "action": { "type": "redirect", "redirect": { "url": "http://127.0.0.1:3600/targetA/target.js" } }, "condition": { "urlFilter": "https://www.targetA.com/target.js", "resourceTypes": [ "script" ] } }, { "id": 3, "priority": 1, "action": { "type": "redirect", "redirect": { "url": "http://127.0.0.1:3600/targetB/target.js" } }, "condition": { "urlFilter": "https://targetB.org/target.js", "resourceTypes": [ "script" ] } } ]
另外,我还尝试过调整规则的priority参数值,测试了不同的优先级组合,但问题依然存在,targetB的JavaScript URL始终无法被成功重定向。
备注:内容来源于stack exchange,提问作者NonDeclarativeNetRequest
相关产品推荐
相关产品推荐

