内容安全策略包括脚本

时间:2018-01-31 21:32:00

标签: javascript html content-security-policy

我需要在我的网站中包含此脚本https://apis.google.com/js/api:client.js。在谷歌浏览器上,它运行正常,但在 Firefox (显然是IE)上我收到了一些错误:

内容安全政策:在script-src中忽略“'unsafe-inline'”:指定'strict-dynamic'

内容安全策略:忽略script-src中的“https:”:'strict-dynamic'指定

内容安全策略:忽略script-src中的“http:”:'strict-dynamic'指定

我尝试更改元标记中的内容安全策略标题,但它不起作用。

我尝试了所有这些:

<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src 'self'; script-src 'self' apis.google.com; style-src 'self';">

<meta http-equiv="Content-Security-Policy" content="default-src 'self' apis.google.com">

<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-eval' https://*.google.com; object-src 'self' 'unsafe-eval'"> 

<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-eval' apis.google.com;">

2 个答案:

答案 0 :(得分:2)

您必须不在HTML上而是在服务器HTTP头上编辑CSP头,您是否可以控制服务器?

元标记等将被忽略,因为HTTP标头具有优先权,请首先修复这些标记。

答案 1 :(得分:0)

我知道这个问题已经有一年历史了,但是它仍然是搜索该问题时首先要提出的问题之一,并且还没有正确的答案。

我了解。我是喜欢在生产中看到原始控制台的人之一,所以像这样的事情让我发疯,但实际上我们对此无能为力。 Firefox在不应该向控制台报告警告时。

MozillaGoogle都建议包括备用CSP1策略以及CSP3的“严格动态”。理解“严格动态”的浏览器应忽略CSP1策略,而不理解“严格动态”的浏览器应遵循CSP1策略。有效词是 ignore 。真正无视包括不宣布您无视。