gpt4 book ai didi

google-chrome - Chrome 扩展 - 内容安全策略 - 执行内联代码

转载 作者:行者123 更新时间:2023-12-03 13:25:43 43 4
gpt4 key购买 nike

我在我的 chrome 扩展中使用了一个外部 JavaScript 库。
我有内联执行,所以我得到以下类型的错误

(我在控制台上得到的错误)

Refused to execute JavaScript URL because it violates the following Content Security Policy directive: "script-src 'self' chrome-extension://". Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution.



错误消息清楚地表明有可能的解决方法。

Chrome-Content Security Policy说不可能。许多相关问题引用了此链接。

Blog这位博主说这是可能的,但可能这仅适用于较旧的 chrome 扩展。

任何可能的解决方法?

PS:不想/不能更改我正在使用的整个库。

编辑:如何使用哈希或随机数来启用内联执行。

最佳答案

不,这不可能放宽此政策。 unsafe-inline自 list 版本 2 以来,Chrome 扩展程序专门忽略了这一点。

Documentation (强调我的):

There is no mechanism for relaxing the restriction against executing inline JavaScript. In particular, setting a script policy that includes 'unsafe-inline' will have no effect.



错误消息提到了几种可能的方式,但文档很清楚没有 CSP 将允许内联脚本,并忽略 unsafe-inline只是措施之一。

更新

As of Chrome 46, inline scripts can be whitelisted by specifying the base64-encoded hash of the source code in the policy. This hash must be prefixed by the used hash algorithm (sha256, sha384 or sha512). See Hash usage for elements for an example.



this answer更深入地了解白名单。

关于google-chrome - Chrome 扩展 - 内容安全策略 - 执行内联代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25625412/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com