1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

请教一个访问量统计的问题

本帖由 Tameway2006-05-12 发布。版面名称:后端开发

  1. Tameway

    Tameway New Member

    注册:
    2005-09-06
    帖子:
    1,286
    赞:
    8
    怎么从访问统计中去除机器人的扫描记录?
    我使用的L-BLOG自带的访问统计系统会把各个搜索引擎的机器人扫描记录也当做访问量记录下来
    例如:这样一条记录

    2006-05-12 11:19 PM 202.160.180.114 Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)

    就是YAHOO搜索扫描后留下的
    我从网上下载了另一个记数系统却可以不把这些记录下来,只记录真实来访者的信息,请问怎么实现?
    有谁注意到这个吗?
     
  2. Tameway

    Tameway New Member

    注册:
    2005-09-06
    帖子:
    1,286
    赞:
    8
    Dim Guest_IP
    Guest_IP=Replace(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),"'","")
    If Guest_IP=Empty Then Guest_IP=Replace(Request.ServerVariables("REMOTE_ADDR"),"'","")

    '站点统计代码
    IF Session("GuestIP")<>Guest_IP Then
    Dim Guest_Agent,Guest_Refer
    Guest_Agent=Trim(Request.ServerVariables("HTTP_USER_AGENT"))
    Guest_Refer=Trim(Request.ServerVariables("HTTP_REFERER"))
    Conn.ExeCute("INSERT INTO blog_Counter(coun_IP,coun_Agent,coun_Refer) VALUES ('"&Guest_IP&"','"&Guest_Agent&"','"&Guest_Refer&"')")
    Conn.ExeCute("UPDATE blog_Info SET blog_VisitNums=blog_VisitNums+1")
    SQLQueryNums=SQLQueryNums+2
    Session("GuestIP")=Guest_IP
    End IF

    代码就这么简单,怎么改改能把搜索引擎的那些去掉
     
  3. Tameway

    Tameway New Member

    注册:
    2005-09-06
    帖子:
    1,286
    赞:
    8
  4. 风狼

    风狼 New Member

    注册:
    2005-10-01
    帖子:
    7,452
    赞:
    25
    取IP时做下过滤如何?
    Dim Guest_IP
    Guest_IP=Replace(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),"'","")
    If Guest_IP=Empty Then Guest_IP=Replace(Request.ServerVariables("REMOTE_ADDR"),"'","")

    上面进行了是否为代理判断。
    在这里再加个,增加个表存放搜索引擎的IP地址。进行比对。
    Set objRs=Conn.Execute "select * from 表 where 字段 like "&Guest_IP
    If objRs.Eof then
    '站点统计代码
    IF Session("GuestIP")<>Guest_IP Then
    Dim Guest_Agent,Guest_Refer
    Guest_Agent=Trim(Request.ServerVariables("HTTP_USER_AGENT"))
    Guest_Refer=Trim(Request.ServerVariables("HTTP_REFERER"))
    Conn.ExeCute("INSERT INTO blog_Counter(coun_IP,coun_Agent,coun_Refer) VALUES ('"&Guest_IP&"','"&Guest_Agent&"','"&Guest_Refer&"')")
    Conn.ExeCute("UPDATE blog_Info SET blog_VisitNums=blog_VisitNums+1")
    SQLQueryNums=SQLQueryNums+2
    Session("GuestIP")=Guest_IP
    End IF
    End If