我正在使用 C# 中的一个组件来记录有多少独特的查看者查看了我的网站/页面,确保同一用户重新访问不会被记录两次。编写这样一个组件的有效方法是什么?您是否跟踪 cookie 或会话对象?我会记录他们的 IP 地址(不是静态的)或计算机名称吗?此信息将存储在数据库中(据我所知)
谢谢。
我正在使用 C# 中的一个组件来记录有多少独特的查看者查看了我的网站/页面,确保同一用户重新访问不会被记录两次。编写这样一个组件的有效方法是什么?您是否跟踪 cookie 或会话对象?我会记录他们的 IP 地址(不是静态的)或计算机名称吗?此信息将存储在数据库中(据我所知)
谢谢。
为什么要重新发明轮子?使用谷歌分析- 它是免费的,非常容易实施,提供比您想要的更多的统计信息,并且可以提供(尽可能使用 cookie)独特的访问者统计信息。如果您确实需要将数据存储在数据库中(为什么?),那么您可以使用Google Analytics API来获取它并使用它做您想做的事情。
是的,您可以记录 IP 地址,如果您使用传统的登录方案(如果使用会员用户),此链接可以指导您。检查这个关于IP的问题,它告诉你如何收集 IP。如果您获得主机的MAC ,这不是一个坏主意,这样您就可以轻松确定唯一访问者跟踪。
人们说记录 IP 是一个坏主意,因为您可能会遇到数百人在同一个 IP 后面的情况,这是事实,但是,使用 IP 地址仍然会给您一个具有统计意义的数字。
如果您的应用程序的核心是保证唯一性,那么不幸的是,这是不可能以有保证的方式做到的。
记录 IP 地址并不是一个好主意,因为许多人实际上使用 NAT 从他们的本地网络访问 Internet。这么多人在你看来是一个人,因为他们都有相同的公共 IP 地址。如果您在 Intranet 上,这可能有效,但绝对不适用于公共网站。
更好的解决方案是将 GUID 写入用户计算机上的 cookie 并存储在您的数据库中。然后在以后再次查找该 cookie 并与数据库中的值进行比较。
IP 地址的唯一访问始终是一个问题,因为您可能拥有一个拥有唯一 IP 但该 IP 背后有数百人的组织。
我认为饼干是你最好的选择。
我假设您有理由不使用统计数据或分析包?
IP 地址和 cookie 都有各自的取舍。单个用户可能会从 wifi 热点跳到 wifi 热点,从而丢掉您的 IP 指标。许多用户可能使用相同的 IP 地址(雇主、ISP、代理等)。所以IP地址不会完全准确。
另一方面,单个 IP 的单个用户可以通过多个浏览器或设备访问您的网站,因此 cookie 不会完全准确。
从家里和工作中访问您的网站的用户又是怎样的呢?一位访客,两个(至少)唯一的 cookie和IP 地址。
选择最适合您的无效数据。