Chr*_*der 5 firefox content-security-policy react-devtools
好奇(且难以诊断)的问题。我在我的网站上添加了一个 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) { ....
Run Code Online (Sandbox Code Playgroud)
我通常通过 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
Run Code Online (Sandbox Code Playgroud)
刚刚重新验证,只在 Firefox 上看到错误。我已经查看了其他相关问题,但似乎没有直接解决此问题(例如:在 Firefox OS 验证器中检测到 CSP 违规)。
另外,我注意到错误在页面 GET 之后立即出现在控制台中,但在所有资源 GET 之前(对于脚本、css 文件等),所以我想知道(甚至更多)它是否可能是一个CSP 的 FF 错误...?
关于如何从这一点开始的任何想法或建议都会非常有帮助 - 我已经用完了自己的线索。谢谢!
** 更新 ** - 呃。它绝对是 React DevTools Firefox 扩展。禁用扩展,CSP 违规消失。另外,因为这是扩展本身的一个组件,所以无法将 React DevTools 与 FireFox + CSP 一起使用(实际上打开了任何级别的安全性)。布拉赫。
以相对次优的方式解决了这个问题(恕我直言)。
Firefox 显然不太喜欢将 CSP 的“default-src”属性设置为“self”,因为我在配置中已将其设置为“self”。将“default-src”指令更改为我的实际主机源('localhost'对于 dev 和对于 prod 的实际域'https://*.foobar.com'),CSP 违规就installGlobalHook(window)停止了。
仅供参考,以防其他人遇到此错误...
| 归档时间: |
|
| 查看次数: |
673 次 |
| 最近记录: |