How Google Analytics bypass Same Origin policy when the analytics call is from an IFRAME?
当 GA 调用来自 IFRAME 时,它如何获取父 URL?
通常,当 javascript 尝试访问其框架浏览器之外的任何内容时,会引发 SAME ORIGIN POLICY 错误。特别是对于 parent.document、parent.location 等。但是,当您检查发送回服务器的分析数据时,很明显该调用带有 window.top 的 URL。这样做几乎是不可能的,我相信他们正在做一个聪明的黑客或正在获得优惠待遇。
示例:
页面:http://delhincr.kidzania.com/en-in/pages/virtual-tour
IFRAME SRC:http://walkinto.in/tour/W1vLiH5CbG-yePUsrc0WM(显然不是同源)
来自 IFRAME 的 GA 调用:
https://www.google-analytics.com/r/collect?v=1
如果没有来自主页面的限制(如 CSP),则(父)URL 可以在带有"document.referrer"的 iframe 内访问。