仅 CSP 阻止和报告 headers
CSP block and report only headers
假设我有一个 chrome 扩展,它正在添加 headers 来阻止和报告跨站点脚本。当我尝试设置两个内容安全策略 headers 时,一个仅用于报告,但两者似乎都不起作用。只有一个或另一个。这是铬中的错误吗?规范明确指出它们不应相互干扰。
我假设 sandbox
指令可能有一个特殊情况,如果我将它分解成它的组成部分,它可能会起作用。另一种可能的解决方案是切换顺序,但在这种情况下仍然只有一个可行。否则,最坏的情况是 chromium 中存在错误,导致 Content-Security-Policy-Report-Only 和 Content-Security-Policy 无法正常运行。
这是我要添加的 headers:
var csp1 = {
'name': 'Content-Security-Policy-Report-Only',
'value': "sandbox; report-uri http://localhost/csp"
}
headers.push(csp1);
var csp2 = {
'name': 'Content-Security-Policy',
'value': "default-src 'none'; report-uri http://localhost/csp"
}
headers.push(csp2);
我尝试在没有明显解决方案的情况下搜索 chromium 代码库,我希望这是以前有人 运行 可以帮助我的东西。
有 chrome 开发者可以回答这个问题吗?
编辑:我刚找到这个 https://bugs.chromium.org/p/chromium/issues/detail?id=503730
它说 Chromium 上确实存在阻止 CSP 和 CSPRO 协同工作的错误,并且已修复。但它仍然不适合我。
This directive is not supported in the element or by the
Content-Security-policy-Report-Only header field.
参见:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/sandbox
假设我有一个 chrome 扩展,它正在添加 headers 来阻止和报告跨站点脚本。当我尝试设置两个内容安全策略 headers 时,一个仅用于报告,但两者似乎都不起作用。只有一个或另一个。这是铬中的错误吗?规范明确指出它们不应相互干扰。
我假设 sandbox
指令可能有一个特殊情况,如果我将它分解成它的组成部分,它可能会起作用。另一种可能的解决方案是切换顺序,但在这种情况下仍然只有一个可行。否则,最坏的情况是 chromium 中存在错误,导致 Content-Security-Policy-Report-Only 和 Content-Security-Policy 无法正常运行。
这是我要添加的 headers:
var csp1 = {
'name': 'Content-Security-Policy-Report-Only',
'value': "sandbox; report-uri http://localhost/csp"
}
headers.push(csp1);
var csp2 = {
'name': 'Content-Security-Policy',
'value': "default-src 'none'; report-uri http://localhost/csp"
}
headers.push(csp2);
我尝试在没有明显解决方案的情况下搜索 chromium 代码库,我希望这是以前有人 运行 可以帮助我的东西。
有 chrome 开发者可以回答这个问题吗?
编辑:我刚找到这个 https://bugs.chromium.org/p/chromium/issues/detail?id=503730
它说 Chromium 上确实存在阻止 CSP 和 CSPRO 协同工作的错误,并且已修复。但它仍然不适合我。
This directive is not supported in the element or by the Content-Security-policy-Report-Only header field.
参见:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/sandbox