现在,我维护https://www.lidl.de的 Content-Security-Policy ,即:
Content-Security-Policy: frame-ancestors 'self'; block-all-mixed-content; report-uri https://lidlcsp.report-uri.io/r/default/csp/enforce;
带有框架祖先的部分是为了防止点击劫持。
在查看发送到 report-uri.io 的违规报告时,排名第一的是:
{
"csp-report": {
"blocked-uri": "",
"document-uri": "https://www.lidl.de/",
"original-policy": "frame-ancestors https://www.lidl.de; block-all-mixed-content; report-uri https://lidlcsp.report-uri.io/r/default/csp/enforce",
"violated-directive": "frame-ancestors https://www.lidl.de"
}
}
这是从 Firefox 发送的(如 report-uri.io 所示)。我在这里对两件事感到困惑:
- 为什么要发送此报告?我无法重现它。
- 为什么改变“原始政策”('self' vs. https://www.lidl.de)?这有什么区别吗?
- (编辑)为什么
https://www.lidl.de/
在以下报告中被阻止?csp 明确允许 iframe 在同一站点上通过'self'
.
编辑:
为了使第三个问题更清楚,我添加了另一个csp-report
:
{
"csp-report": {
"document-uri": "https://www.lidl.de/",
"effective-directive": "frame-ancestors",
"original-policy": "frame-ancestors 'self'; block-all-mixed-content; report-uri https://lidlcsp.report-uri.io/r/default/csp/enforce;",
"blocked-uri": "https://www.lidl.de/"
}
}
如果您可以重现 CSP 违规或触发其他违规,我将很乐意了解它们。