网站统计UV值

SinGooCMS 2012-04-10 11:21:28
UV即独立访客,CNZZ名词解释

独立访客:
  指在一天之内(00:00-24:00)访问您的网站的上网电脑数量(以cookie为依据)。一天内同一电脑多次访问网站只被计算1次。

因为UV值是以cookie来计算的,所以访客访问网站时,统计程序就需要在电脑上种一个cookie.值可以为 XXX+网站ID.有效期是(当前23:59:59-当前时间)的时间差.


//开始访问
collect.je_StartTime = System.DateTime.Now;
//写入开始时间 计算是否独立客户,如果COOKIE还存在则不是独立客户
string strDLCustomer = CookieUtils.GetCookie("stat_dl"+WebID);
if (string.IsNullOrEmpty(strDLCustomer))
{
//不存在COOKIE是独立客户
collect.je_IsIndVisitor = true;
//写入cookie,过期到今天的24点
TimeSpan tsStart = new TimeSpan(collect.je_Hour, collect.je_Minute, 0);
TimeSpan tsEnd = new TimeSpan(23, 59, 59);
int intExpire = Convert.ToInt32((tsEnd - tsStart).TotalMinutes);

CookieUtils.SetCookie("stat_dl"+WebID, "1", intExpire);
}
else
collect.je_IsIndVisitor = false;



我觉得这段代码没错.事实也证明有的电脑有确定种上了这个cookie.但有的电脑却没有?cookie也是允许,这是不是跟浏览器有关呢还是跨域的问题?这是一个很奇怪的问题.希望做过网站统计(并不仅仅是自己的站)的朋友指教一下!!!!
...全文
3924 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
疯狂de攻城狮 2014-06-26
  • 打赏
  • 举报
回复
同一台电脑,不同浏览器访问同一个网站,cookie是不一样的。 所以,本人觉得以cookie作为依据,有失准确性,那还有什么更优化的办法吗?请教!
hch126163 2012-04-10
  • 打赏
  • 举报
回复
UV即独立访客(访客唯一标识)
现在一直没有好的解决方案
只能统计应该大概。

浏览器可以禁用 cookie 或者 清除 cookie

已知的一些方法:
一、MAC判断,公网上要获取客户端网卡MAC可不是件容易事,而且受路由等环境影响,准确率是有一定问题的;
二、ActiveX方式获取客户端硬件信息,这个因为在用户看来总是貌似很危险的东东,所以不是很受欢迎;
最重要的是 火狐和IE7.0+ 都直接禁用了此功能
三、向客户端cookie中写标识,类似为每个访问者建个GUID,这个也因为一些不可控的原因
(如用户禁用cookie或用户随时删除cookie等),变得不是很有效;
四、综合判断用户机器名、操作系统、浏览器等信息,这个方式最大的问题就是相似的客户端太多啦,
准确性也是有问题的;
五、IP判断,这个在公网上基本不用考虑了。。。。

我能想到的就这些,还请坛子里的高手们谈谈自己的看法。

补注:我觉得客户端唯一性标识的判断不仅对商业性网站有意义,既然web3.0要来了(真的吗?),
更提倡突出个性化请求与服务,那么能准确标识出每个客户端,意义无意是巨大的。
倘若根本就不能解决此问题,那无意是。。。巨遗憾的 :D

SinGooCMS 2012-04-10
  • 打赏
  • 举报
回复
最近CSDN越来越冷清了
SinGooCMS 2012-04-10
  • 打赏
  • 举报
回复
现在改用JS输出COOKIE似乎可以了

hch126163

(老胡)
----
请问计算停留时间有什么好办法吗?
SinGooCMS 2012-04-10
  • 打赏
  • 举报
回复
关键是我现在用cookie都没法用.这是一个很奇怪的问题

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧