尽管没有 Content-Security-Policy header,但仍在应用 CSP
CSP being applied despite no Content-Security-Policy header
当检查 request/response 显示未发送 Content-Security-Policy
header 时,我无法弄清楚为什么将 CSP 应用于页面(见屏幕截图)。
该应用程序是一个 Jenkins 实例,提供一些由作业生成的静态 HTML 内容,并且它以前放宽了限制,如下所述:https://wiki.jenkins.io/display/JENKINS/Configuring+Content+Security+Policy。这修复了由于 CSP 限制而未显示的静态内容的原始实例。然而,现在它在不同的地方回来了,原来的解决方案是无效的(原因很明显,因为没有 header 可以修改)。为了以防万一,我已验证自定义 CSP 值仍在 Jenkins 中设置。该问题发生在所有 Firefox 64、Chromium 71 和 Chrome 55.
如何确定 CSP 的来源?浏览器现在开始默认应用它了吗?我认为 CSP 的全部意义在于它是 opt-in,如果不存在则降级为 same-origin 政策。
编辑: 源代码中也没有 <meta http-equiv="content-security-policy">
。
最终弄明白了:尽管我禁用了 non-cached 重新加载,但结果证明这是一个缓存问题,显然我做得不够努力。那隐藏了原始请求,确实确实有一个 CSP header。在 DevTools 和设置中单击足够多的东西后,我能够将其获取到 re-issue 原始请求,并且可以在请求视图中看到它以查看正在应用的内容。
当检查 request/response 显示未发送 Content-Security-Policy
header 时,我无法弄清楚为什么将 CSP 应用于页面(见屏幕截图)。
该应用程序是一个 Jenkins 实例,提供一些由作业生成的静态 HTML 内容,并且它以前放宽了限制,如下所述:https://wiki.jenkins.io/display/JENKINS/Configuring+Content+Security+Policy。这修复了由于 CSP 限制而未显示的静态内容的原始实例。然而,现在它在不同的地方回来了,原来的解决方案是无效的(原因很明显,因为没有 header 可以修改)。为了以防万一,我已验证自定义 CSP 值仍在 Jenkins 中设置。该问题发生在所有 Firefox 64、Chromium 71 和 Chrome 55.
如何确定 CSP 的来源?浏览器现在开始默认应用它了吗?我认为 CSP 的全部意义在于它是 opt-in,如果不存在则降级为 same-origin 政策。
编辑: 源代码中也没有 <meta http-equiv="content-security-policy">
。
最终弄明白了:尽管我禁用了 non-cached 重新加载,但结果证明这是一个缓存问题,显然我做得不够努力。那隐藏了原始请求,确实确实有一个 CSP header。在 DevTools 和设置中单击足够多的东西后,我能够将其获取到 re-issue 原始请求,并且可以在请求视图中看到它以查看正在应用的内容。