我正在设置Content security policy
。我在仅报告模式中设置了基本规则以进行测试。
我一直收到阻止脚本的报告,但源只有data
:
"csp-report": {
"blocked-uri": "data",
"document-uri": "http://www.example.com/page.html",
"original-policy": "default-src http://www.example.com ...
"violated-directive": "script-src 'unsafe-inline' http://www.example.com http://www.google-analytics.com;"
}
即使我使用与导致此报告的访问者相同的浏览器类型访问同一页面,也无法重现该报告。从CSP
文档中我找不到任何有关data
来源的内容。
页面http://www.example.com/page.html
主要是静态HTML,但在<script>
代码之间有Google分析脚本:
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject'...
</script>
我的网站的其他页面(包括首页)使用相同的脚本。但只有页面page.html
会生成有关已屏蔽data
的报告。
这个被阻止的uri data
是什么?是来自我的网站还是外部访问者浏览器试图加载的内容?
答案 0 :(得分:0)
关于报告的快速问题:它们是在一个浏览器上发生还是全部发生?
如果只有一个浏览器:
script-src
blocked-uri: data
次违规可能是插件产生的噪音。通过数据网址加载javascript的模式可能不是来自你。
如果所有浏览器都 如果您没有使用该模式,也许您的某个库是。 Google Analytics不使用该模式。
有关快速讨论,请参阅https://twitter.com/Scott_Helme/status/710164802925142017。
注意:允许script-src data:
非常危险,或至少与'unsafe-inline'
一样危险。资料来源:http://webreflection.blogspot.com/2011/08/simulate-script-injection-via-data-uri.html