我正在进一步锁定我们的CSP,并应用一种基于CSP3随机数的方法。除了Safari之外,所有的浏览器都能正常工作:
一个包含nonce和以下CSP的示例内联脚本(修剪以删除我们允许的一些URLs我也检查了Nonce匹配):
content-security-policy-report-only: script-src 'self' 'unsafe-inline' https: 'strict-dynamic' 'nonce-xxxx'; upgrade-insecure-requests; default-src 'self' gap: blob:; style-src 'self' 'unsafe-inline'; base-uri 'none'; report-uri https://xxx.report-uri.com/r/d/csp/reportOnlySafari的错误:

我在OSx上测试Safari11,但是根据我们的测试报告,这个问题出现在Safari12上。
感谢您的帮助。
发布于 2019-07-08 18:56:53
好吧,我解决了这个问题:
根据我的经验和在这里的测试:你不能在Safari中同时有一个强制的CSP和一个仅报告的CSP,它似乎混淆了它们之间的策略,并报告了非违规项目的违规行为。
删除其中一条CSP指令,然后仅发送报告或强制发送报告,它将按预期开始工作。
https://stackoverflow.com/questions/56906422
复制相似问题