1

我正在使用 C# 中的一个组件来记录有多少独特的查看者查看了我的网站/页面,确保同一用户重新访问不会被记录两次。编写这样一个组件的有效方法是什么?您是否跟踪 cookie 或会话对象?我会记录他们的 IP 地址(不是静态的)或计算机名称吗?此信息将存储在数据库中(据我所知)

谢谢。

4

6 回答 6

3

为什么要重新发明轮子?使用谷歌分析- 它是免费的,非常容易实施,提供比您想要的更多的统计信息,并且可以提供(尽可能使用 cookie)独特的访问者统计信息。如果您确实需要将数据存储在数据库中(为什么?),那么您可以使用Google Analytics API来获取它并使用它做您想做的事情。

于 2010-06-19T16:50:20.673 回答
2

是的,您可以记录 IP 地址,如果您使用传统的登录方案(如果使用会员用户),此链接可以指导您。检查这个关于IP的问题,它告诉你如何收集 IP。如果您获得主机的MAC ,这不是一个坏主意,这样您就可以轻松确定唯一访问者跟踪。

于 2010-06-19T16:36:17.007 回答
1

人们说记录 IP 是一个坏主意,因为您可能会遇到数百人在同一个 IP 后面的情况,这是事实,但是,使用 IP 地址仍然会给您一个具有统计意义的数字。

如果您的应用程序的核心是保证唯一性,那么不幸的是,这是不可能以有保证的方式做到的。

于 2010-06-19T16:37:21.220 回答
0

记录 IP 地址并不是一个好主意,因为许多人实际上使用 NAT 从他们的本地网络访问 Internet。这么多人在你看来是一个人,因为他们都有相同的公共 IP 地址。如果您在 Intranet 上,这可能有效,但绝对不适用于公共网站。

更好的解决方案是将 GUID 写入用户计算机上的 cookie 并存储在您的数据库中。然后在以后再次查找该 cookie 并与数据库中的值进行比较。

于 2010-06-19T16:33:25.800 回答
0

IP 地址的唯一访问始终是一个问题,因为您可能拥有一个拥有唯一 IP 但该 IP 背后有数百人的组织。

我认为饼干是你最好的选择。

我假设您有理由不使用统计数据或分析包?

于 2010-06-19T16:34:55.420 回答
0

IP 地址和 cookie 都有各自的取舍。单个用户可能会从 wifi 热点跳到 wifi 热点,从而丢掉您的 IP 指标。许多用户可能使用相同的 IP 地址(雇主、ISP、代理等)。所以IP地址不会完全准确。

另一方面,单个 IP 的单个用户可以通过多个浏览器或设备访问您的网站,因此 cookie 不会完全准确。

从家里和工作中访问您的网站的用户又是怎样的呢?一位访客,两个(至少)唯一的​​ cookieIP 地址。

选择最适合您的无效数据。

于 2010-06-19T16:42:19.287 回答