Google chrome 由于CSP标头,Chrome间歇性拒绝FB SDK
我们在网站的关键区域使用内容安全策略,使用“nonce”方法,将随机nonce添加到脚本标记中,并在CSP策略中将该nonce列为白名单 例如:Google chrome 由于CSP标头,Chrome间歇性拒绝FB SDK,google-chrome,facebook-javascript-sdk,content-security-policy,Google Chrome,Facebook Javascript Sdk,Content Security Policy,我们在网站的关键区域使用内容安全策略,使用“nonce”方法,将随机nonce添加到脚本标记中,并在CSP策略中将该nonce列为白名单 例如: “脚本src数据:'不安全内联''不安全评估'”nonce-42D55D4787A98DC31A5A8FE9030AB6''严格动态'https:;升级不安全请求;阻止所有混合内容;报告urihttps://xxx.report-uri.com/r/d/csp/enforce;”, 然后,我们将加载FB SDK,如下所示: 这很好,99%的时间都是这
“脚本src数据:'不安全内联''不安全评估'”nonce-42D55D4787A98DC31A5A8FE9030AB6''严格动态'https:;升级不安全请求;阻止所有混合内容;报告urihttps://xxx.report-uri.com/r/d/csp/enforce;”,
然后,我们将加载FB SDK,如下所示:
这很好,99%的时间都是这样,但是我们的报告URI统计数据向我们显示了在Chrome上对上述脚本的随机拒绝
{
"csp-report": {
"document-uri": "https://xxx",
"referrer": "xxx",
"effective-directive": "script-src-elem",
"original-policy": "script-src data: 'unsafe-inline' 'unsafe-eval' 'nonce-[removed]' 'strict-dynamic' https: ; upgrade-insecure-requests; block-all-mixed-content; report-uri https://xxx.report-uri.com/r/d/csp/enforce;",
"blocked-uri": "https://connect.facebook.net/en_GB/sdk.js"
}
}
“script src elem”失败时,问题总是一样的(应该返回到“script src”并正确地将nonce列为白名单)
我不明白为什么这在大多数情况下有效,但在其他情况下失败。我可以刷新页面,偶尔也会复制它,但再刷新一次,它就会消失
我所能想到的是,它要么是一个Chrome bug,要么是FBSDK做了一些奇怪的事情
有什么想法吗?这是因为一个Chrome bug现在已经修复了这是因为一个Chrome bug现在已经修复了