假设我有一个chrome扩展程序,它会添加标题以阻止和报告跨站点脚本。当我尝试使用两个内容安全策略标头时,一个只是报告,两者似乎都不起作用。只有一个或另一个。这是铬中的一个错误吗?规范很清楚,它们不应互相干扰。
我假设sandbox
指令可能存在特殊情况,如果我将其分解为其成分,它可能会起作用。另一种可能的解决方案可能是切换订单,但在这种情况下只有一种可以工作。否则,最糟糕的情况是,Chrome中存在一个错误,导致Content-Security-Policy-Report-Only和Content-Security-Policy无法正常运行。
以下是我添加的标题:
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);
我尝试在没有明显解决方案的情况下搜索铬代码库,我希望这是以前有人遇到的问题并且可以帮助我。
那里有任何人可以回答这个问题吗?
编辑:我刚发现这个https://bugs.chromium.org/p/chromium/issues/detail?id=503730
它说铬确实存在一个阻止CSP和CSPRO协同工作的错误,而且它已被修复。但它仍然不适合我。
答案 0 :(得分:0)
元素或者不支持此指令 Content-Security-policy-Report-Only标题字段。
请参阅:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/sandbox