好奇(且难以诊断)的问题。我在我的网站上添加了一个 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 一起使用(实际上打开了任何级别的安全性)。布拉格。