我正在尝试在 Django 中实现条带支付系统。要添加卡付款,我按照此链接中的指南进行操作。在 Django 模板和 CSS 和 JS 代码中添加 HTML 标记作为单独的静态文件后,我在 Firefox 中收到以下控制台错误:
Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”)
我从上面的错误消息中了解到,<script src="https://js.stripe.com/v3/"></script>
JS 文件包含指向其他 JS 文件的链接,而 Firefox 会阻止此类连接。应该注意的是,在这个阶段,测试信用卡支付按预期工作,客户借记的金额被添加到我的条带账户的测试余额中。为了解决这个阻塞问题,我按照此链接中的说明进行操作。因此,我meta
在我的 Django 模板中添加了以下标签:
<meta http-equiv="Content-Security-Policy" content="connect-src https://api.stripe.com; frame-src https://js.stripe.com https://hooks.stripe.com; script-src https://js.stripe.com" />
添加上述Content-Security-Policy
指令后,Firefox 控制台不再显示上述阻止错误,但这次我的静态 JS 文件被阻止。我已经修改了如下指令以允许我的 JS 文件(将'self
' 添加到'script-src'
指令中):
<meta http-equiv="Content-Security-Policy" content="connect-src https://api.stripe.com; frame-src https://js.stripe.com https://hooks.stripe.com; script-src 'self' https://js.stripe.com" />
而这一次之前提到的 inline-script 块错误再次出现在 Firefox 控制台中。:)
你能帮我解决这个问题吗?我对 Firefox 控制台错误原因的理解是否正确?为什么实施的解决方案不起作用?
编辑
考虑到付款按预期工作并且 Chromium 浏览器没有在开发人员工具上记录任何错误,这可能只是 Firefox 错误吗?