【问题标题】:Why would I get a CSP violation for the blocked-uri 'about'?为什么我会因为被阻止的 uri 'about' 而违反 CSP?
【发布时间】:2018-12-15 00:32:46
【问题描述】:

我的 CSP 报告 URI 收到以下 CSP 违规:

{
  "csp-report":{
    "document-uri":"https://example.com/blog/somepage",
    "referrer":"",
    "violated-directive":"img-src 'self' data: p.typekit.net pbs.twimg.com platform.twitter.com q.stripe.com syndication.twitter.com",
    "effective-directive":"img-src",
    "original-policy": veryLongPolicyGoesHere,
    "blocked-uri":"about",
    "status-code":0
  }
}

为什么我会因为被阻止的 uri 'about' 获得 CSP 违规?

这是来自网络浏览器的内置about: URL 吗?我尝试时无法复制问题。

【问题讨论】:

  • 我也从可能有 30-50 个不同用户的系统上的一个特定用户那里看到了这一点。我也无法理解为什么会触发 CSP 违规,但特定用户在 OS X 10.6 上使用的是相当旧的 Chrome (38) 版本,所以这可能是一个原因;或者,它可能是一个浏览器扩展,但我们还没有确定一个特定的(他们提到使用 Adblock 和 Disconnect,但他们可能还有其他)。

标签: content-security-policy


【解决方案1】:

我与用户合作发现确实是Disconnect 扩展导致了这种情况。我联系了制作扩展程序的人,他们确认他们通过将 URI 替换为 about:blank 来阻止 URI;这就是导致 CSP 违规的原因。

在 Disconnect 修复其阻止方案之前,我认为最好的方法是在 blocked-uriabout 时简单地忽略 CSP 违规报告。

【讨论】:

  • 你好@mikemaccana。我添加了script-src 'self' about,但它不起作用。我应该添加about:blank 吗?请建议
  • about:blank 被视为无效来源。似乎 uBlock Origin 做了与 Disconnect 相同的事情:当它阻止网页中的某些内容时,它被替换为 about:blank。我还没有找到解决方法。
  • 我想我可能找到了一个 临时 解决方法(直到页面上的任何原因 about:blank 得到修复):将 about: 添加到违反的指令中。我尝试将其添加到default-src,但我仍然收到违规报告。我把它加到img-srcscript-src上,违规没有出现。这可能会解决您的问题,@RomanMarusyk
  • @Tiffany 你应该把你的评论变成一个答案,我相信这将是一个比上面答案中给出的解释更好的答案。我可能会授予它赏金(但快点,赏金将在 3 小时后到期!)
  • @Clément 我很抱歉,现在才注意到您的评论。我将其添加为答案。
【解决方案2】:

我想我可能找到了一个临时解决方法(直到页面上的任何原因 about:blank 被修复):将 about: 添加到违反的指令中。我尝试将其添加到default-src,但我仍然收到违规报告。我将其添加到img-srcscript-src,并没有出现违规行为。

【讨论】:

  • 这很有用,但听起来也像是浏览器错误。值得将其作为浏览器中的问题报告!
  • 你的具体情况,是的,听起来像是浏览器的bug。但可能还有其他原因导致出现about: 违规,这是我在研究此问题时遇到的情况。
  • 不,我的意思是您的具体情况:添加到 default.src 不会影响各个来源。
猜你喜欢
  • 2023-02-16
  • 2016-06-01
  • 1970-01-01
  • 2018-04-18
  • 2017-01-13
  • 2021-07-28
  • 2011-03-27
  • 2020-12-11
  • 2021-06-12
相关资源
最近更新 更多