尽管我们立即在我们的软件中实施了内容安全政策,但由于该政策立即干扰了某些客户端网站,因此我们将其删除(明显混淆):
header('Content-Security-Policy: [...]');
在删除标头之后,使用Waterfox 56(Firefox 65和Chrome 72 立即开始工作; Waterfox 56具有新的配置文件)时,无论 >绝对没有单个请求设置了Content-Security-Policy!
淘汰过程:
我想头文件以某种方式被缓存了……这很荒谬,因为我们出于开发目的总是 禁用缓存,除非我们明确地使用缓存。唯一已知的其他潜在因素是请求与Google Calendar API和响应标头相关。有一个设置了content-security-policy script-src 'nonce-SHP3iUMj779E…self';report-uri /o/cspreport
头的请求:https://accounts.google.com/o/oauth2/iframe。但是,这将如何影响显示内容的我们客户网站?
为Waterfox创建了一个新的配置文件,并且使用该新配置文件的请求可以正常工作。以下是仅在“越野车” 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
该URL的CSP:
script-src'nonce-tdC4gM1 / O5jBKPO3TfdC9w''unsafe-inline''strict-dynamic'https:http:'unsafe-eval'; object-src'none'; base-uri'self'; report-uri / o / cspreport
为什么Google会针对那个Waterfox实例触发此错误 just ??我已经清除了所有cookie,存储空间等。我将继续尝试缩小范围配置文件文件引起了问题。
Waterfox配置文件的prefs.js
文件是源文件,当复制到新配置文件的目录时,该文件将破坏请求。我将按照复制,测试和重复的相同方式,以大块的方式重建文件,幸运的是,这不是二进制文件。
答案 0 :(得分:0)
以下文件和行破坏了Google Calendar的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被禁用。启用/禁用它们可以修复/重现此问题。