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