You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

浏览器扩展无法绕过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 19:24:28