内容安全策略:资源被阻止但 CSP 被配置为允许它

时间:2021-06-07 19:28:57

标签: javascript firefox google-analytics greasemonkey content-security-policy

我有一个 GreaseMonkey 用户脚本,可以将一些 HTML 代码注入页面,并且 HTML 代码包含一些指向外部脚本的 JavaScript,这需要 Google Analytics 才能工作。 为了“绕过”内容安全策略,我在之前注入了此代码:

<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' 'unsafe-eval'; 
script-src www.google-analytics.com * 'unsafe-inline' 'unsafe-eval'; connect-src * 'unsafe-inline'; 
img-src * data: blob: 'unsafe-inline'; frame-src *; style-src * 'unsafe-inline'; ">

但它在控制台中抛出以下错误:

Content Security Policy: The page’s settings blocked the loading of a resource at 
https://www.google-analytics.com/analytics.js (“script-src”).

我允许 CSP 中的所有内容,但它仍然不起作用。 (如果需要,这是我的用户脚本代码)

$("head").append("<meta http-equiv=\"Content-Security-Policy\" content=\"default-src * 'unsafe-inline' 'unsafe-eval'; script-src www.google-analytics.com * 'unsafe-inline' 'unsafe-eval'; connect-src * 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src *; style-src * 'unsafe-inline'; \">");
$("body").append ( `
    <div id="AHHAHAHAHAH">
<script src="https://examp.le/thisScriptUsesGoogleAnalytics.js">
</script>
<script type="text/javascript">
</script>    </div>
` );

1 个答案:

答案 0 :(得分:0)

目前尚不清楚您想要实现的目标。基于 DOM 更改 copyFiles = $(wildcard $(configDir)\*.txt) $(info ?TXT? $(copyFiles)) 标记脚本没有任何意义。只是不要一开始就设置它或根据您的需要设置它。