代码之家  ›  专栏  ›  技术社区  ›  Marcelo Cantos

跨域用户跟踪

  •  25
  • Marcelo Cantos  · 技术社区  · 16 年前

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

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

    有什么想法吗?还是我注定要依赖IP/用户\代理组合?

    5 回复  |  直到 9 年前
        1
  •  21
  •   Simon    16 年前

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

        2
  •  6
  •   Neil McGuigan    9 年前

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

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

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

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

    让我们称我们的跟踪器为cookie uaid .

    如果 GET http://child.com/any-page getCookie("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设置cookie uAID 具有 valueOfParentsUAIDCookie

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

    当然,你是 正在验证输入 白名单你的重定向网址 :)

    流动:

    Scenario A

    Scenario B

    Scenario C

        3
  •  3
  •   Community THelper    7 年前

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

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

        4
  •  1
  •   mohammedn    16 年前

    你可以遵循谷歌分析中使用的相同概念。在要跟踪的页面中插入javascript。

        5
  •  0
  •   JohnnySoftware    16 年前

    你没有给你的情况提供任何背景-只是基本的问题。所以很难给出一个明确适合的答案。然而,这里有一些将信息从一个页面传递到另一个页面的技术/机制,不管涉及到什么域。

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

    哪些技术真正取决于您是否可以将软件放在用户将要访问的所有站点(服务器)上,或者您不能将软件放在所有站点(服务器)上。