神秘缓存内容 - 安全 - 政策鬼在拒绝内容时拒绝内容

问题描述 投票:0回答:1

内容安全策略最近在我们的软件中实现,因为它立即干扰了我们删除它的一些客户端网站(显然是混淆):

header('Content-Security-Policy: [...]');

删除标题后,使用Waterfox 56(Firefox 65和Chrome 72立即开始工作; Waterfox 56有一个新的配置文件)控制台中出现以下错误,无论单个请求是否完全没有Content-Security-Policy设置!

  • 内容安全策略:无法解析无效主机'report-sample'(未知)
  • 内容安全策略:忽略script-src或style-src中的“'unsafe-inline'”:指定的nonce-source或hash-source(未知)
  • 内容安全策略:此站点(https://[...])具有不带报告URI的仅报告策略。 CSP不会阻止,也不会报告违反此政策的行为。 (未知)
  • 内容安全策略:页面的设置观察了blob上的资源加载:[...]。正在发送CSP报告。 (未知)
  • 内容安全策略:在script-src中忽略“'unsafe-inline'”:指定'strict-dynamic'(未知)
  • 内容安全策略:忽略script-src中的“https:”:指定'strict-dynamic'(未知)
  • 内容安全策略:忽略script-src中的“http:”:指定'strict-dynamic'

排除法:

  • 在Waterfox 56中禁用缓存,问题仍然存在。
  • 当我们的服务器禁用标头时,Firefox 65和Chrome 72立即开始工作。
  • 完全验证我们的服务器即使对于其他文件也不会响应标头。
  • 被拒绝的资源来自Google Calendar API,它们有一个标题集,但不同浏览器上的相同请求会产生不同的结果,因此我们觉得问题出在Waterfox上。

我想这个标题是以某种方式缓存的......这是荒谬的,因为除非我们明确使用缓存,否则我们总是禁用缓存用于开发目的。唯一其他已知的潜在因素是请求与Google Calendar API和响应标头相关。 content-security-policy script-src 'nonce-SHP3iUMj779E…self';report-uri /o/cspreport标题集有一个请求:https://accounts.google.com/o/oauth2/iframe。但是,这会如何影响我们客户的网站显示内容?


创建了一个新的Waterfox配置文件,并且该新配置文件的请求确实有效。以下是唯一出现在“buggy”Waterfox配置文件中的错误:

内容安全策略:页面设置观察到blob上的资源加载:https://content.googleapis.com/4bafd6e0-ea6f-43b2-9b43-690cbcd6b691(“script-src'nonce-dxS2ZXb0sYV7IpK + nhCm6w''unsafe-inline'”)。正在发送CSP报告。 (未知)

设置CSP的模糊URL:

https://accounts.google.com/o/oauth2/iframe#origin=https://www.example.com&rpcToken=123.456

该网址的CSP:

script-src'nonce-tdC4gM1 / O5jBKPO3TfdC9w''unsafe-inline''tright-dynamic'https:http:'unsafe-eval'; object-src'none'; base-uri'self'; report-uri / o / cspreport

为什么Google只针对那个Waterfox实例触发此错误?我已经清除了所有的cookie,存储等。我将继续尝试缩小导致问题的配置文件。


Waterfox配置文件的prefs.js文件是源文件,当复制到新配置文件的目录时会破坏请求。我将以块的形式重建文件,就像我复制,测试和重复一样,幸运的是这不是二进制文件。

php firefox google-calendar-api content-security-policy waterfox
1个回答
0
投票

以下文件和行破坏了Google日历的API,并触发了内容安全策略错误,导致请求失败:

文件:AppData\Roaming\Waterfox\Profiles\56.0\prefs.js

user_pref("network.cookie.cookieBehavior", 1);

network.cookie.cookieBehavior设置被描述为how third party cookies are handled。安装了Chris Pederick的Web Developer工具栏(XUL),并在Cookies菜单下禁用了第三方cookie。启用/禁用它们修复/重新发生问题。

© www.soinside.com 2019 - 2024. All rights reserved.