为什么这是 CSP 违规? blocked-uri = self 当 'self' 被明确允许时
Why is this a CSP violation? blocked-uri = self when 'self' is explicitly allowed
我无法理解下面的 CSP 违规报告(由 FireFox 44.0.2 / Ubuntu 发送)。这里真正被阻止的是什么,为什么?
应该注意的是,我将 'self'
或(如报告中自动翻译的那样)https://www.example.com
写入 CSP header 并不重要。
另外,我不知道呈现的页面中缺少任何内容。
那么我能做些什么呢? (显然,如果每个页面都触发虚假违规报告,我不应该在我的实时网站中添加报告)
{
"csp-report":{
"blocked-uri":"self",
"document-uri":"https://www.example.com/foo/bar/baz.html",
"original-policy":"report-uri https://reportserver.example.com/ContentSecurityPolicy-report.php;
default-src https://www.example.com;
style-src https://example.com https://www.example.com https://fonts.googleapis.com;
script-src https://www.example.com https://code.jquery.com https://ajax.googleapis.com;
font-src https://fonts.gstatic.com",
"referrer":"https://www.example.com/foo/bar/wtf.html",
"source-file":"https://www.example.com/foo/bar/baz.html",
"violated-directive":"style-src https://example.com https://www.example.com https://fonts.googleapis.com"
}
}
通过将您的政策设置为:
default-src 'self'; style-src example.com www.example.com 'self' https://fonts.googleapis.com 'unsafe-inline'; script-src 'self' https://code.jquery.com https://ajax.googleapis.com; font-src https://fonts.gstatic.com 'self';
我没有看到任何违规行为。我将 'unsafe-inline' 添加到 style src,将 'self' 添加到 font-src.
我看过这种对用户代理没有任何意义的 CSP 报告(2021 年 9 月)
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
我假设它要么是更新的浏览器遇到了一些旧错误,要么是一些浏览器扩展改变了用户代理和浏览器行为。
是的,服务器发出的 Content-Security-Policy
确实包含 script-src 'self' 'report-sample' ...
,即使报告的 violated-directive
既不包含 self
也不包含 report-sample
。我没有费心用那个旧的 Firefox 进行测试,但我假设它不支持 'report-sample'
并且它会导致它错误地解析导致 'self'
也被删除的策略。
如果您从一些更现代的用户代理看到同样的报告,我很想了解有关您的案例的更多详细信息。
此错误也可能与以下相关:https://bugzilla.mozilla.org/show_bug.cgi?id=1236222
我无法理解下面的 CSP 违规报告(由 FireFox 44.0.2 / Ubuntu 发送)。这里真正被阻止的是什么,为什么?
应该注意的是,我将 'self'
或(如报告中自动翻译的那样)https://www.example.com
写入 CSP header 并不重要。
另外,我不知道呈现的页面中缺少任何内容。
那么我能做些什么呢? (显然,如果每个页面都触发虚假违规报告,我不应该在我的实时网站中添加报告)
{
"csp-report":{
"blocked-uri":"self",
"document-uri":"https://www.example.com/foo/bar/baz.html",
"original-policy":"report-uri https://reportserver.example.com/ContentSecurityPolicy-report.php;
default-src https://www.example.com;
style-src https://example.com https://www.example.com https://fonts.googleapis.com;
script-src https://www.example.com https://code.jquery.com https://ajax.googleapis.com;
font-src https://fonts.gstatic.com",
"referrer":"https://www.example.com/foo/bar/wtf.html",
"source-file":"https://www.example.com/foo/bar/baz.html",
"violated-directive":"style-src https://example.com https://www.example.com https://fonts.googleapis.com"
}
}
通过将您的政策设置为:
default-src 'self'; style-src example.com www.example.com 'self' https://fonts.googleapis.com 'unsafe-inline'; script-src 'self' https://code.jquery.com https://ajax.googleapis.com; font-src https://fonts.gstatic.com 'self';
我没有看到任何违规行为。我将 'unsafe-inline' 添加到 style src,将 'self' 添加到 font-src.
我看过这种对用户代理没有任何意义的 CSP 报告(2021 年 9 月)
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
我假设它要么是更新的浏览器遇到了一些旧错误,要么是一些浏览器扩展改变了用户代理和浏览器行为。
是的,服务器发出的 Content-Security-Policy
确实包含 script-src 'self' 'report-sample' ...
,即使报告的 violated-directive
既不包含 self
也不包含 report-sample
。我没有费心用那个旧的 Firefox 进行测试,但我假设它不支持 'report-sample'
并且它会导致它错误地解析导致 'self'
也被删除的策略。
如果您从一些更现代的用户代理看到同样的报告,我很想了解有关您的案例的更多详细信息。
此错误也可能与以下相关:https://bugzilla.mozilla.org/show_bug.cgi?id=1236222