如何在Chrome扩展程序的内容安全策略(CSP)中列出内联脚本?

时间:2018-04-10 11:23:23

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

我在Chrome扩展程序中使用了库list.js,并使用内联脚本在网页中插入分页,其中包含<a>元素,如下所示:

<a href="javascript:function Z(){Z=\"\"}Z()"></a>

因此,为了使这项工作在扩展中,我想我需要将其列入内容安全策略(CSP)。

为了做到这一点,我试图放松内联脚本的CSP,如Chrome docs here中所述,但我无法做到并仍然出现控制台错误:

  

拒绝执行JavaScript网址,因为它违反了以下规定   内容安全政策指令:&#34; script-src&#39; self&#39;   &#39; {sha256- HASH}&#39;&#34 ;. “不安全 - 内联”和“不安全”。关键字,哈希   (&#39; sha256 -...&#39;)或nonce(&#39; nonce -...&#39;)需要启用内联   执行。

我按照说明here生成sha256哈希并尝试:

$echo -n "function Z(){Z=\"\"}Z()" | openssl dgst -sha256 -binary | openssl enc -base64

$echo -n "function Z(){Z=""}Z()" | openssl dgst -sha256 -binary | openssl enc -base64

获得哈希后,我将其包含在manifest.json中,如下所示:

...
"content_security_policy": "script-src 'self' 'sha256-{HASH}'; object-src 'self'",
...

我做错了什么?

0 个答案:

没有答案