我如何计算我网站上的唯一身份访问者?

时间:2016-04-16 13:07:52

标签: c# sql-server model-view-controller

我正在寻找一种方法来统计我网站上的唯一身份访问者,然后将其显示在网站上。我怎么能这样做?

这是代码需要做的事情:

  1. 加载页面后,检查访问者是新用户还是旧用户
  2. 如果他老了,不要理他
  3. 如果他是新手,在mssql中需要为我的值添加1

2 个答案:

答案 0 :(得分:1)

我会使用Google Analytics JS脚本来计算访问者数量。它比你可以编码的更可靠,并且拥有你想要的一切。

您必须使用Cookie来跟踪回访者并区分来自实际用户的明确请求。这不是一件容易的事,因为有些用户可能会删除cookie等。在这种情况下,Google Analytics也非常聪明,并且将计数器分开,这样您就不会感到困惑(以及误报)。

要显示该访问者编号,您可以找到大量Google Analytics +一些Javascript示例。

答案 1 :(得分:1)

您可以为此创建会话Cookie。每当有人连接到您的服务时,您都会检查该cookie,并在cookie尚不存在的情况下递增计数器。

以下是您如何定义Cookie,让我们称之为" hasVisited":

HttpCookie aCookie = new HttpCookie("hasVisited");
aCookie.Value = true;
aCookie.Expires = DateTime.Now.AddDays(100);
Response.Cookies.Add(aCookie);

然后您可以这样阅读:

if(Request.Cookies["hasVisited"] == null)
{
    // increment counter and add cookie for future reference...
}

您还可以使用IP和MAC地址(由于防火墙等原因,可靠性较低)。要获得客户端的IP使用:

var remoteIpAddress = Request.UserHostAddress;

对于MAC地址,我建议你看看

http://www.dotnetfunda.com/forums/show/2088/how-to-get-mac-address-of-client-machine

了解更多信息。