我正在开发Chrome扩展程序,我尝试添加' unsafe-inline'根据{{3}}
的CSP然而,在这样做并尝试在chrome://extensions/
重新加载我的扩展程序后,我得到了:
There were warnings when trying to install this extension:
Ignored insecure CSP value "'unsafe-inline'" in directive 'script-src'.
用于参考manifest.json
:
"content_security_policy": "script-src 'self' 'unsafe-inline' https://localhost:8000; object-src 'self'"
那么,为什么我无法设置' unsafe-inline'?
答案 0 :(得分:4)
它没有被弃用,它在网上完全没问题。
然而,作为一项安全措施(并且坦率地说,执行良好做法),它根本不被允许作为扩展。
Documentation解释了您对CSP能做什么和不做什么。
直到Chrome 45,没有放松限制执行内联JavaScript的机制。特别是,设置包含“unsafe-inline”的脚本策略将不起作用。
从Chrome 46开始,可以通过在策略中指定源代码的base64编码哈希来将内联脚本列入白名单。此哈希必须以使用的哈希算法(sha256,sha384或sha512)作为前缀。有关示例,请参阅元素的哈希用法。
不要使用内联脚本 - 它不是需要。相同的文档将展示如何处理它。