【问题标题】:Cross Domain User Tracking跨域用户追踪
【发布时间】:2010-09-18 00:03:21
【问题描述】:

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

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

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

【问题讨论】:

    标签: cookies cross-domain user-tracking


    【解决方案1】:

    您可以指定一个域或子域进行跟踪,并让它提供一个 1x1 像素的图像,您可以将其包含在您想要跟踪的所有页面中。提供带有图像的 cookie,查看跟踪域的服务器日志,瞧。

    【讨论】:

    • 那行不通。 Internet Explorer 默认安全设置不允许来自其他域(或 iframe)的图片设置任何 cookie。
    • ...好的,已修改:如果我考虑support.microsoft.com/kb/323752/EN-US 将起作用:)
    • 哇,我其实不知道 IE6 会这样做——我最近很少使用框架。所以你必须使用 HTTP 标头技巧,或者在不使用框架时设置 cookie 是否有效?
    • 这个问题需要做额外的工作。您必须将其包含在您需要跟踪的每个页面中。
    • 好吧,我不明白它如何跟踪跨域用户。显然我不能在跨域网站上放置 1x1 像素,那么您将如何在那里跟踪用户?
    【解决方案2】:

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

    对于 Internet Explorer,我需要考虑 P3P 策略并设置 additional P3P HTTP-Header 以允许图像跨域设置 cookie。那我就可以用simon的建议了。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 我可以,但这将如何帮助我跨域跟踪用户?
      • 有不同类型的跟踪。谷歌分析将让您回顾您的许多访问者行为的历史,甚至跨域。另一种类型的跟踪(例如 PHP 会话跟踪)用于控制向单个访问者提供哪些内容。
      • google analytics 完全按照 simon 所说的,它注入了一个 1x1 像素图像,这就是它可以跨多个域跟踪的方式,它通过 JS 进行这种注入
      【解决方案4】:

      您没有为您的情况提供任何背景 - 只是基本问题。所以很难给出一个明确的答案。但是,这里有一些用于将信息从一个页面传递到另一个页面的技术/机制,无论涉及哪个域。

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

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

      【讨论】:

        【解决方案5】:

        此解决方案不需要 JavaScript,即使用户禁用第三方 cookie 也能正常工作。

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

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

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

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

        如果GET http://child.com/any-pagegetCookie("c") is not nullgetCookie("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 将 cookie uaid 设置为 valueOfParentsUAIDCookie

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

        当然,您正在验证输入,并将重定向 URL 列入白名单 :)

        流程:

        【讨论】:

          猜你喜欢
          • 2020-10-30
          • 1970-01-01
          • 1970-01-01
          • 2013-10-06
          • 2017-09-13
          • 2011-01-26
          • 2011-08-23
          • 2011-03-12
          • 1970-01-01
          相关资源
          最近更新 更多