是内容安全政策' unsafe-inline'弃用?

时间:2016-05-13 20:15:23

标签: google-chrome-extension content-security-policy

我正在开发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

中定义的整个CSF

"content_security_policy": "script-src 'self' 'unsafe-inline' https://localhost:8000; object-src 'self'"

那么,为什么我无法设置' unsafe-inline'?

1 个答案:

答案 0 :(得分:4)

它没有被弃用,它在网上完全没问题。

然而,作为一项安全措施(并且坦率地说,执行良好做法),它根本不被允许作为扩展。

Documentation解释了您对CSP能做什么和不做什么。

  

直到Chrome 45,没有放松限制执行内联JavaScript的机制。特别是,设置包含“unsafe-inline”的脚本策略将不起作用。

     

从Chrome 46开始,可以通过在策略中指定源代码的base64编码哈希来将内联脚本列入白名单。此哈希必须以使用的哈希算法(sha256,sha384或sha512)作为前缀。有关示例,请参阅元素的哈希用法。

不要使用内联脚本 - 它不是需要。相同的文档将展示如何处理它。