5

好奇(且难以诊断)的问题。我在我的网站上添加了一个 CSP,它工作得很好,有 1 个错误似乎只出现在 Firefox 上(猜测它是 Mozilla CSP 实现异常)。但是,我不确定在这一点上如何更深入地诊断这一点。它似乎没有阻碍任何功能 - 一切似乎都正常,但我看到 Firefox 上弹出错误(它的报告非常垃圾,我可以用其他方式处理,但宁愿根本原因和处理)。

这是错误(几乎出现在网站的每个页面上):

Content Security Policy: The page’s settings blocked the loading of a resource 
at self (“script-src https://code.jquery.com/”). Source: ;(function 
installGlobalHook(window) { ....

我通常通过 CDN 加载 jQuery,并且加载和运行它没有问题,尽管我确实尝试过下载 jQuery 并在内部加载它(这也很好)。

完整的 CSP 是:

Content-Security-Policy: 
default-src 'self'; 
base-uri 'self';
script-src 'self' https://code.jquery.com/;
form-action 'self'; 
font-src 'self' https://fonts.googleapis.com/ https://fonts.gstatic.com/;
style-src 'self' https://fonts.googleapis.com/ 
    https://code.jquery.com/
    'sha256N90MKmRow2DpYEVeqcc3uc8pOUsS4Rg4sNmkau1k0xQ=' 
    'sha256-i1EfB2+xYUUG32uDRMNI/DN/F9YIrGWOYdHENz9GKME='
    'sha256-75seZ0liXI7HbegtdV/WH+/9QQJ0CrDacBOViVFXckc='
    'sha256-2KAnfZnKiF2um1+UfXP14UfR93HoXmam2Y1ipeMWRUI='; 
frame-ancestors 'self';
report-uri /csp/csp-report

刚刚重新验证,只在火狐上看到错误。我已经查看了其他相关问题,但似乎没有直接解决这个问题(例如:CSP Violation Detected in Firefox OS validator)。

此外,我注意到错误出现在页面 GET 之后立即出现在控制台中,但在所有资源 GET(用于脚本、css 文件等)之前,所以我想知道(甚至更多)它是否可能是CSP 的 FF 错误...?

任何关于如何从这一点开始的想法或建议都会非常有帮助——我有点用尽了自己的线索。谢谢!

** 更新 ** - Ug。它绝对是 React DevTools Firefox 扩展。禁用扩展,CSP 违规消失。此外,因为这是扩展本身的一个组件,所以无法将 React DevTools 与 FireFox + CSP 一起使用(实际上打开了任何级别的安全性)。布拉格。

4

1 回答 1

4

以相对次优的方式解决了这个问题(恕我直言)。

Firefox 显然不喜欢将 CSP 的“default-src”属性设置为“self”,就像我在我的配置中那样。将“default-src”指令更改为我的实际主机源('localhost'用于开发和实际域'https://*.foobar.com'用于生产),CSP 违规installGlobalHook(window)停止。

仅供参考,以防其他人遇到此错误...

于 2018-02-13T01:32:03.280 回答