https://github.com/lisonge/Disable-CSP
CSP 会阻止我们向目标网站注入 外部源 的脚本
比如由于 CSP 限制,你无法在 github.com 控制台使用 document.head.append
添加一个外部源的脚本
或者使用 vite-plugin-monkey 开发油猴脚本时,假设你的目标网站是 github.com ,由于 github 的 CSP 策略,脚本也无法注入。
此时我们需要一个禁用 CSP 的扩展
CSP 有两种,一种是 HTTP Header CSP ,另一种是 HTML Meta CSP
浏览器扩展的 网络拦截 Api 只能修改 HTTP Response Header ,无法修改 Response Body
所以目前插件市场上的 CSP 禁用扩展基本上都是只能 Diable HTTP Header CSP
这个扩展使用 chrome 的 debugger 接口连接 devtools 工具来实现 拦截修改 Response Body 达到修改 HTML Meta CSP 的目的
撅得好用的可以给个 star
1
SimonOne 2023-07-28 16:23:35 +08:00
你好,关于 github 的 CSP ,我想问个情况。
我安装了一个其他的禁用插件,就是为了在 github 时可以用 Google 翻译插件(不是 Chrome 自带的翻译,是一个商店插件,因为我用的 Vivaldi 自带的翻译很垃圾,想用谷歌网页翻译只能安装这个插件),它会插入外部脚本,github 的 CSP 会导致不能插入外部脚本。 结果有段时间能禁掉 github 的,过段时间又不行(在控制台能看到插入脚本失败提示是 CSP 的原因),是网站自身可以反制插件禁用 CSP 吗? |
2
lisongeee OP @SimonOne 你说的这个问题我曾经也遇到过,某些禁用 CSP 的扩展 时灵时不灵的,我不知道它们的源码,所以我也不知道咋回事
但是据我所知,网站应该是没有 《反制插件禁用 CSP 》这个功能接口的 |
3
codehz 2023-07-28 23:14:36 +08:00
|
4
Masoud2023 2023-07-31 16:46:35 +08:00
如果你是要本地开发油猴脚本并且注入油猴脚本,为什么不用暴力猴自带的方法去做这个事情?
https://violentmonkey.github.io/posts/how-to-edit-scripts-with-your-favorite-editor/ 为什么偏要想着打破 CSP ? |
5
lisongeee OP @Masoud2023
因为这种方法没有 Hot Module Replacement ![img]( https://user-images.githubusercontent.com/38517192/191197411-3d6f3795-e842-4cc1-a494-5d5f8425fd15.gif) 你说的这种方法在代码更改的过程中页面状态被重置,开发体验极差 |