html - 接收不存在内容安全策略标头的内容安全策略错误
问题描述
我正在与第三方库 (Chargebee) 集成,并且收到内容安全违规错误。
据我所知,我的网页中没有定义 CSP,因为它不返回 CSP 响应标头:
虽然,在尝试使用这个库时,我遇到了以下错误:
问题
我正在使用其他第三方 JS 库,为什么我没有为其他任何人收到此错误?我以前从来没有为任何一个 CSP 指定过。
如果我确实定义了 CSP,那么我将阻止其他第三方库。我可以在不阻止其他人的情况下允许 Chargebee(并且不必将它们全部包含在 CSP 中)吗?
这没有意义。它表明我没有定义 CSP,因为它没有在我的标头中返回,我可以使用第三方资源,我什至使用 Chrome CSP 评估器扩展验证了这一点。然而,错误消息显示我确实定义了 CSP 策略。
我错过了什么吗?
解决方案
如果我确实定义了 CSP,那么我将阻止其他第三方库。我可以在不阻止其他人的情况下允许 Chargebee(并且不必将它们全部包含在 CSP 中)吗?
否 - CSP 是一个白名单协议。如果您定义一个 CSP,您需要映射所有各种所需的资源 - 至少对于您正在使用的指令(例如,您可以将您的 CSP 限制为仅script-src
and object-src
,而忽略其他)。
由于您无法控制或预测 Chargebee CSP 需要哪些指令,因此最好使用预先确定的 CSP 包和 CSP 生成器。
推荐阅读
- c# - 如何在 C# 和 Python 进程之间共享字节数组的内存
- java - 如何使用 Jackson 解析具有不同类型的无名数组
- node.js - Mongoose:如何摆脱字段:{} 参数
- c# - 如何从我的方法运行 Pickles-Features 命令
- virtual-machine - 有没有办法通过 gcloud 计算实例集调度将停止的 GCE 实例设置为可抢占?
- javascript - 如何通过querySelector改变同一个类的多个div
- ios - CFBundleShortVersionString 值不一致
- swift - 来自 C 标头的 Swift 数学函数
- python - 如何在_thread中获得输出?
- r - sf + ggplot 试图绘制斐济群岛地图