CSP
内容安全策略 (Content Security Policy):
内容安全策略是一种计算机安全标准,旨在防御跨站脚本、点击劫持等代码注入攻击,阻止恶意内容在受信网页环境中执行。
Manifest V3 对于内容安全策略有一些默认的设置,如禁止外部代码的执行,这主要是为了增强安全性。如果需要调整默认策略以允许执行更多类型的资源,可以通过修改 manifest.json 中的 content_security_policy 字段实现。
常见错误:
'content_security_policy.extension_pages': Insecure CSP value "'blob:'" in directive 'script-src'.
Could not load manifest.
解决
此文解决的是 extension_pages 页面,不是context 注入
方法1
声明引用文件:【web_accessible_resources -> resources】
"web_accessible_resources": [{"resources": ["assets/*",],"matches": ["<all_urls>"]},{"matches": ["<all_urls>"],"resources": ["content.e2b1d2ad.css"]}],
如果是在context: 【content_scripts -> js】
"content_scripts": [{"matches": ["<all_urls>"],"js": ["content.883ade9e.js"],"css": []}],
方法2
如果运行脚本中创建script脚本,需要修改 content_security_policy。如下:
【pages: 页面路径 】
"content_security_policy": {"sandbox": "sandbox allow-scripts allow-modals allow-popups; script-src 'self' 'unsafe-inline' 'unsafe-eval' blob:; object-src 'self';worker-src 'self' blob: ;","extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self'; media-src 'self' data: blob: *;"},"sandbox": {"pages": ["editor.html","/tabs/download.html"]}