跨域用户跟踪

时间:2008-10-19 13:30:40

标签: cookies cross-domain user-tracking

我们在不同的网域上有多个网站,我希望能够跟踪这些网站上用户的动向。

  • 显然,Cookie不可行,因为它们不跨越域边界。
  • 我可以看看IP地址和用户代理的组合,但在某些情况下,这不起作用。
  • 我不想使用flash或其他插件。

有什么想法吗?或者我注定要依赖IP / User_Agent组合?

5 个答案:

答案 0 :(得分:21)

您可以指定一个域或子域进行跟踪,并使其提供1x1像素图像,您可以在所有要跟踪的页面中包含该图像。与图像一起提供cookie,查看跟踪域的服务器日志,voilà。

答案 1 :(得分:6)

此解决方案不需要JavaScript,即使用户禁用第三方Cookie也能正常运行。

首先,让我们确保用户代理正在发送cookie:

If getCookie("c") == null then setCookie("c", "anyValue")

然后让请求完成(也就是等待下一个请求)

让我们调用我们的跟踪器Cookie uaid

如果GET http://child.com/any-pagegetCookie("c") is not null以及getCookie("uaid") is null ......

重定向到http://parent.com/give-me-a-uaid?returnTo=http://child.com/any-page

http://parent.com/give-me-a-uaid上,检查Cookie uaid

如果不存在,请创建它并将其添加到响应中。如果存在,请获取其值。

重定向到http://child.com/any-page?uaid=valueOfParentsUAIDCookie

Child.com使用uaid

设置Cookie valueOfParentsUAIDCookie

重定向到http://child.com/any-page

当然,您验证输入白名单列出您的重定向网址:)

流动:

Scenario A

Scenario B

Scenario C

答案 2 :(得分:3)

这个问题与问题Accessing Domain Cookies within an iFrame on Internet Explorer密切相关。

对于Internet Explorer,我需要考虑P3P策略并设置additional P3P HTTP-Header以允许图像跨域边界设置Cookie。然后我可以使用西蒙的建议。

答案 3 :(得分:1)

您可以遵循Google Analytics中使用的相同概念。在要跟踪的页面中注入javascript。

答案 4 :(得分:0)

你没有给出你的情况任何背景 - 只是基本问题。因此很难给出明显适合的答案。但是,以下是一些将信息从一个页面传递到另一个页面的技术/机制,无论涉及哪个域。

  • 包含指向1x1像素透明gif图像(有时称为“信标”)
  • 的超链接
  • 依赖HTTP请求标头中的引用者信息来识别页面超链接在
  • 在其他网站的超链接中包含额外参数 - 假设您同时运行两个网站
  • 购买Akamai等公司的服务,为您进行用户跟踪
  • 如果标准获得批准,将来可能会使用跨域cookie机制

哪些技术真正归结为您是否可以在用户将访问您感兴趣的所有站点(服务器)上放置软件 - 或者您无法将软件放在所有站点上。