我刚刚开始在 Chrome 上的嵌入式 YouTube 视频中看到这一点(86.0.4240.193 - 最近更新,这可能就是我看到这个的原因) - 这些只是“报告”,因此视频仍然会显示,但可能会出现数百个错误不对吧!这就是我所看到的:
[Report Only] Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'strict-dynamic' 'unsafe-inline' https: 'report-sample' 'nonce-t9IE7nI2leo7qKxsm7d80g=='".
这是我的 iFrame——
<iframe id="video-iframe" width="500" height="281" src="https://www.youtube.com/embed/HIDDENVIDEO" frameborder="0" allowfullscreen ></iframe>
我不知道 CSP 应该是什么——我发现这个 CSP 显然可以解决他们的问题——
<iframe id="video-iframe" width="500" height="281" src="https://www.youtube.com/embed/HIDDENVIDEO" frameborder="0" allowfullscreen csp="script-src 'self' https://www.google-analytics.com/ https://www.youtube.com/ https://s.ytimg.com/; object-src 'self'; child-src https://www.youtube.com/* https://s.ytimg.com/"></iframe>
没那么多——我只是看到:拒绝显示......
非常感谢任何帮助。
我刚刚检查了developers.google.com/youtube/iframe_api_reference#Examples
页面和我看到同样的事情——当然这不应该发生,对吧?
如您所见,此错误不是由您的 CPS 触发的 - 您的 CPS 没有'nonce-t9IE7nI2leo7qKxsm7d80g=='"
令牌。此错误出现在 Google<iframe>
这完全是谷歌的内部交易。
事实上,Chrome 的几个早期版本都有一个错误,没有阻止 eval https://csplite.com/csp/test282/表达式。
在 Chrome 版本 86 中,他们修复了这个错误,为了验证这一点,他们设置了 Report-Only 标头,并对 eval 进行了虚假调用以查看报告。
YouTube 的 CSP https://csplite.com/csp/test40/非常简单,不需要“unsafe-eval”,因为所有操作都在独立的 iframe 中进行:
frame-src youtube.com www.youtube.com;
足以允许 iframe 中的 Youtube。
顺便说一句,您的 CSP 有一个error https://csplite.com/ru/csp/check/?pl=eJx1jc0KwjAQhF8l7KUgtMU%2FhN2jdxF8gjRu20hqSje1FvHdDTlZ0MswzDfMaNziS6JAbZ9AJxLcIzh%2BsAOyuKHEjpczRLc%2B7BDEDLYPuQxGZcKuzlQbQi9YltM0FY33jeNc37WbgzVSGN%2BVi8bsxzBWvARSxHbXpJCUr25svi9Imda6a0r%2Bba1%2BjgG9PyStTKs%3D#result - the *
路径部分不允许。并且要小心- 如果服务器不同意您的 CSP,内容将被阻止。但是这个<iframe csp=之所以发挥作用,是因为 Chrome 再次出现错误 - 它会忽略 Content-Security-Policy-Report-Only 如果 Content-Security-Policy 标头存在。 https://csplite.com/csp153/#iframe_csp
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)