讨论下基于 php 的简单 uv 统计思路 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
lygmqkl
V2EX    程序员

讨论下基于 php 的简单 uv 统计思路

  •  
  •   lygmqkl 2014-11-04 13:00:11 +08:00 9823 次点击
    这是一个创建于 4044 天前的主题,其中的信息可能已经有所发展或是发生改变。
    遇到一个关于首页日UV PV统计的问题,思路大概有了,还是想拿出来讨论下,看有没有更优的思路。

    PV: 没得说,对特定api例如 /channels ,请求一次pv++
    UV:考虑使用 HTTP_COOKIE+REMOTE_ADDR 作为unique index,每次pv增加的时候查询一次当天记录,如果没有命中则增加一条UV记录

    这里有几个问题:
    1. UV 逻辑是否存在大的漏洞,因为用户可以手动清除cookies,但是我个人觉得这个东西基本无法避免了在BS层面上。欢迎提出更优秀的UV甄别方案
    2. 原则上PV增加的次数高于UV,而且是数量级的,其实可以做一些缓存工作,但是我用的是restful api设计,为了考虑将来更多的适应多服务器负载的情况,只能每次PV增加的时候,进行UV的相关操作,同样欢迎提供相关思路。
    3. 关于第三方,不是没考虑过,但是怎么说呢,最后还是放弃了。如果有用的好的第三方经验,欢迎共享。


    ok, 就这么多,希望今天下午这个帖子能给你带来一丝讨论的乐趣,nice day.
    15 条回复    2014-11-05 17:11:52 +08:00
    tabris17
        1
    tabris17  
       2014-11-04 13:07:00 +08:00   1
    通过浏览器指纹来辨识客户端
    lygmqkl
        2
    lygmqkl  
    OP
       2014-11-04 13:15:15 +08:00
    @tabris17 好吧,之前听说过,但是没深究,花了几分钟简单学习了下,感觉这个路子也不错,通过特定的header 然后md5一下。
    em70
        3
    em70  
       2014-11-04 13:18:12 +08:00   1
    要允许结果有一定的误差,100%精确是不可能的,cnzz有啥问题?
    lygmqkl
        4
    lygmqkl  
    OP
       2014-11-04 13:34:38 +08:00
    @em70 cnzz 没有啥问题,只是这次项目的特殊性,和时间上有宽裕,想自己折腾一下。
    tabris17
        5
    tabris17  
       2014-11-04 14:11:57 +08:00
    @lygmqkl 不光是request head,还有 flash cookie,浏览器安装了那些控件,控件的版本,显示器尺寸,是否支持java,java版本等因素
    lygmqkl
        6
    lygmqkl  
    OP
       2014-11-04 14:49:28 +08:00
    @tabris17 hm,大概明白意思了,都是通过js来确定的吧?
    tabris17
        7
    tabris17  
       2014-11-04 14:56:39 +08:00
    wesley
        8
    wesley  
       2014-11-04 15:12:52 +08:00
    cookie是最好的选择
    lygmqkl
        9
    lygmqkl  
    OP
       2014-11-04 15:39:36 +08:00
    @tabris17
    @wesley
    @em70
    我和QQ群里的朋友也讨论了一下,感觉在精准度不是要求非常高的前提下,cookies for UV 已经足够了。

    关于浏览器指纹,其实也不是100%准确的因为只要是在客户端js中生成的东西,都不是那么的“可靠”

    欢迎大家继续添砖加瓦
    txlty
        10
    txlty  
       2014-11-04 15:46:08 +08:00   1
    uv的逻辑不叫漏洞,叫缺陷。结果仅供比对IP和PV,用作参考。
    浏览器能跟踪到的信息,这里比较全:
    http://ip-check.info/?lang=en (点START TEST!)这个带详细分类和说明 @tabris17
    lygmqkl
        11
    lygmqkl  
    OP
       2014-11-04 17:48:35 +08:00
    @txlty 谢谢分享的url 头一会看到,很有用。
    changsha
        12
    changsha  
       2014-11-04 20:00:06 +08:00 via iPhone   1
    我们给新浪、网易做流量统计 也是基于cookie做user识别,这是唯一合理的方式。
    lygmqkl
        13
    lygmqkl  
    OP
       2014-11-04 20:07:06 +08:00
    @chngsha 谢谢分享,我也个人觉得 ip,cookie 已经足够用了,因为所有的东西都能伪装,所以没必要追求抓不住的准确。
    changsha
        14
    changsha  
       2014-11-04 20:09:57 +08:00 via iPhone   1
    @lygmqkl 是的 虽然说cookie会清除 但几百万的样本里 有多少人会清除呢?很少的,不会影响结果的准确性。
    lygmqkl
        15
    lygmqkl  
    OP
       2014-11-05 17:11:52 +08:00
    @changsha 明白了 非常感谢参与讨论。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     885 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 23:02 PVG 07:02 LAX 15:02 JFK 18:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86