【发布时间】:2021-01-27 00:52:25
【问题描述】:
在实施 csp-header 时,我已将我的策略指定为:
default-src 'self'; script-src www.gstatic.com; 由于我没有在我的 csp 策略中声明 script-src-elem 指令,如 this mdn 文档中所述,我期望为 script-src 定义的策略也可用于 script-src-elem 指令。但是,我看到违规行为被报告为"viloated-directive":"script-src-elem" "blocked-uri":"https://www.gstatic.com/blah/blah"。
知道为什么会发生这种行为吗?
【问题讨论】:
-
您知道您在哪些特定浏览器(和版本)上看到过这种情况吗?我一直在试图追查这个完全相同的问题,我想知道是否可能是浏览器缺陷导致了它。就我而言,我的
script-src白名单中有https://www.google-analytics.com,我看到script-src-elem报告针对该uri 进入。我没有script-src-elem指令,所以它应该退回到允许该uri 的script-src。据我所知,它根本不应该被阻止或报告。 -
@MattMetzger - 我们的日志没有包含在违规报告中的浏览器信息。我还没有时间探索 doublesharp 在下面的答案中给出的理论,即这些违规行为可能会发生,因为脚本是基于 js 事件注入的,但这对我来说听起来很有趣。
-
@anish:你是如何解决这个问题的?我们在应用程序中面临同样的问题。即使我们提到了 connect-src self 和 script-src self,我们仍然会看到来自同一 orign/host 的一些 CSP 违规报告。如果您让我们知道您是如何解决这个问题的,将会非常有帮助。
-
@YathishManjunath - 我们从未解决它。这是我们收到的违规报告的一小部分,所以我们正在处理这个问题,我们仍然在阻止它们。它只是不经常发生,而且我们的客户都没有抱怨过任何事情,所以......你有没有看过 doublesharp 不得不说什么? javascript 事件可能会注入一些关于脚本的内容
-
我在
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36上看到了同样的问题,我认为这是 Windows 7 上的 Chrome 88.0。
标签: web browser content-security-policy