代码之家  ›  专栏  ›  技术社区  ›  John_

使用.NET跟踪用户以获得唯一访客报告的最佳方法?

  •  2
  • John_  · 技术社区  · 17 年前

    我打算通过设置一个带有GUID的cookie来跟踪它们,然后将这个ID存储在数据库中,以防每次点击页面。问题是,如果他们没有启用cookie,就不可能知道每次他们访问页面时是否都在创建新的cookie,因为最后一个cookie由于被禁用而没有被实际接受。很明显,您不能使用会话来跟踪它,因为它们完全在同一条船上。

    谷歌必须设法做到这一点,尽管他们使用JavaScript。

    创建一个新的跟踪ID是一个问题的原因,因为它会使我的报告与它应该的相比变得不正常。假设我有4个用户访问,每个用户访问10页。如果一个用户没有启用cookie,它会说该网站有13个独立的访问者。

    3 回复  |  直到 17 年前
        1
  •  2
  •   annakata    17 年前

    首先,独特的用户是 近似值。没有保证强制使用cookie的方法,它们的持久性也不完全在您的控制之下,IP通常代表用户块(有时是大量的)。这方面的数据质量不好,您必须接受这一点。

    This

    根据我的经验,追踪IP至少提供了一个安全的下限,但你仍然在谈论模糊的数据。

    我所知道的所有其他饼干替代品都只是暂时的。

    第二,你所说的“ “?关闭JS会严重限制ASP.NET功能(imho),您的选项将更加有限。这是您期望的状态吗?

        2
  •  0
  •   Samiksha    17 年前

    我建议您在用户使用您的第一个页面时,通过服务器端代码跟踪数据库中的用户,如登录页面时:

    借助于此:HttpBrowserCapabilities browser=Request.browser; 您将获得诸如正在使用哪个浏览器、是否设置cookie等信息。。。然后,根据cookies设置与否,您可以操作所需的内容/跟踪所需的信息。

        3
  •  0
  •   Arnout    17 年前

    我开始输入如何构建一个无cookie跟踪机制,当我走到一半时,我对自己说:“我自己,ASP.NET肯定会支持这种开箱即用的东西吗?”。事实上: Cookieless Session IDs . 这至少可以让您确定哪些请求来自特定(尽管仍然是匿名)用户 在单个会话中

    不确定如果cookies可用,您是否可以将其与cookies混合使用(这将产生更好的URL,并可能使您有机会跨会话跟踪用户),但这可能是一个开始。