谷歌分析发送跟踪到一个国家的域名,所以它被CSP屏蔽

Google Analytics sends tracking to a country domain, so it gets blocked by CSP

本文关键字:域名 国家 屏蔽 CSP 一个 跟踪 谷歌      更新时间:2023-09-26

我嵌入了这样的分析:

<script type="text/javascript" async="" src="http://www.google-analytics.com/plugins/ua/linkid.js"></script>

然后我在CSP中添加了一些google域名,像这样:

BrowserPolicy.content.allowScriptOrigin("*.google-analytics.com");
BrowserPolicy.content.allowImageOrigin("*.google.com");

这个加载很好,但是一旦分析试图发送一些跟踪信息,它有时会尝试从google.pl加载图像(基于位置)。有没有办法确保只使用。com ?我显然不能在CSP标题中列出所有的谷歌域名。

确切的错误是:

拒绝加载图像'https://www.google.pl/blabla',因为它违反了以下内容安全策略指令:"img-src数据:"self"http://*.doubleclick.net https://*.doubleclick.nethttp://*.facebook.com https://*.facebook.com http://*.google.comhttps://* .google.com http://www.google-analytics.comhttps://www.google-analytics.com"。

如果它很重要,这里使用的框架是:Meteor 1.3.5.1和浏览器策略包browser-policy@1.0.9

一个解决方案是使用Geo IP来尝试猜测域名。你可能总是可以动态地包含。com和国家域名,但我怀疑这是一个可靠的解决方案。