沙盒:用于安全的 Google Analytics

3
通过在网站中包含Google Analytics(特别是Javascript版本),您是否正在向Google提供完整访问所有cookie和站点信息的权限?这可能会存在安全漏洞。
可以通过将Google放置在受沙箱保护的iFrame中来缓解这种情况吗?或者只传递必要的信息给Google(例如浏览器类型,屏幕分辨率等)?
如何在不完全打开整个站点的情况下充分利用Google Analytics?
或者,通过自己的服务器传递数据,然后再将其上传到Google?
2个回答

1
你可以通过 测量协议(适用于启用了通用分析的属性)创建无脚本实现。这不仅避免了脚本的任何安全问题(尽管我更愿意相信谷歌),还意味着您对提交到谷歌服务器的数据有更多的控制。

测量协议似乎很有潜力,通过这种方式能获取所有相同的分析数据吗?此外,你说的“我更倾向于相信谷歌”的意思是什么? - undefined
只是语法不好,我是说我更愿意相信谷歌(因为我的日常工作很大程度上依赖谷歌产品)。你可以使用测量协议来完成所有操作(最近已经宣布支持通过用户IP进行地理定位),但当然你必须自己收集数值并将其作为参数传递给API端点。 - undefined

0
您的网站上运行的脚本可以读取该网站上的cookie,是的。并且那些数据可以被发送回谷歌,是的。这就是为什么您不应该在cookie中存储敏感信息的原因。即使您不使用Google Analytics,也不应该这样做。即使您除了自己的代码之外没有使用任何其他代码。浏览器和浏览器插件也可以读取该内容,而您肯定无法控制它。再次强调,永远不要在cookie中存储敏感信息。
就访问“网站信息”而言,JavaScript可以用于读取页面上的内容,知道页面的URL等。换句话说,您在网页上提供的任何内容都可以被获取。任何不在墙后的内容(例如,登录障碍)肯定都可以被抓取。但是网络爬虫无论如何都会查看那些内容。即使是墙后的内容也可能被自动抓取,这取决于它们需要通过哪些障碍来穿过这些墙(例如,简单的注册/登录障碍很容易被克服)。
这也是为什么您甚至不能在网站内容中显示敏感信息的原因。例如信用卡号码、密码等。这就是为什么您去的几乎每个具有稍微敏感信息的网站都显示掩码(例如,* *)而不是实际值的原因。
Google Analytics并不主动执行这些操作,但你是对的:没有任何阻止他们这样做的事情,而且你已经通过使用他们的脚本授权给他们这样做。想要控制Google实际看到的内容的最安全的方法是向他们发送服务器端请求,并将所有内容放在不能轻易被爬行或抓取的屏障后面。其中最强大的屏障是需要付费才能访问的屏障。人们会想方设法制作机器人,用于通过各种形式和“人类”检查等等,你在这方面可能会输得很惨,但没有什么比要求某人给你钱来访问你的东西更能阻止机器人了。当然,这也意味着你必须让每个人都为访问付费... 无论如何... 如果你非常担心这些问题,为什么还要使用GA呢?使用自己托管的东西(例如Piwik)吧。这显然不会解决爬虫/机器人的问题,但它会解决对GA获取超出你想要的部分的担忧。

感谢您提供详细的回复。您是不是在说永远不要将会话ID存储在cookie中?那么应该在哪里存储它呢?使用安全的HttpOnly cookie是否足够安全呢?(虽然绝对安全是不存在的) - undefined
此外,我所指的敏感信息是指用户的分数、电子邮件地址、图片等,并不包括信用卡号码。这些信息根据定义必须显示出来,这也是用户使用服务的原因。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接