当前位置: 首页 > 图文教程 > 网络编程 > ASP > 如何用ASP编写网站统计系统(二)

ASP
生成像资源管理器一样的树形目录
将连接数据库的代码隐藏在DLL中
ASP中从数据库读取二进制文件数据代码
asp查询xml的代码,实现了无刷新、模糊查询功能
一个asp函数, 解决SQL Injection漏洞
在ASP中利用COM组件开发Web应用程序
关于如何利用COM+,来提高ASP执行权限的问题!
升级MD5.ASP,打造完全动态不重复的安全加密代码
ASP安全检测与过滤函数SafeCheck
在ASP中,用JScript脚本实现分页的另类办法
查看服务器Application/Session变量工具
自己写的一个简单ASP调用存储过程查询
ASP登陆验证页应做的安全问题
使用ASP与javascript配合实现多个复选框数据关联显示
Windows 2003下不注册组件用ASP发邮件
数据分页方法新思路,速度非常快!
ASP程序中同一个用户不允许同时登陆两次
分栏显示记录集的表格演示,并实现了分页
关于Adodb.Stream的写数据库数据到客户端文件的实践
将ASP的Debug变得简单的两个函数

如何用ASP编写网站统计系统(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 258 ::
收藏到网摘: n/a

  1 取得用户的操作系统。
  在ASP中使用如下语句可以得到访问者的http_user_agent字符串。
  Dim StrUserAgent
  StrUserAgent=Request.ServerVariables("HTTP_USER_AGENT")
  这个字符串一般是如下格式:
  Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
  上面的字符串可以说明访问者使用的操作系统是Windows98,浏览器是MSIE 4.01,但是这个字符串格式不固定,而且可以自己更改。
  平常我们所见的其它一些主要的UserAgent字符串如下:
  使用IE的浏览器:
  Mozilla/2.0 (compatible; MSIE 3.01; Windows 95)
  Mozilla/4.0 (compatible; MSIE 4.0; Windows 95);
  Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
  Mozilla/4.0 (compatible; MSIE 5.0; Windows 98);
  Mozilla/4.0 (compatible; MSIE 5.0b2; Windows NT)
  使用NetScape的浏览器:
  Mozilla/4.03 〔en〕 (Win95; I)
  Mozilla/4.08 〔en〕 (WinNT; U ;Nav)
  Mozilla/4.5 〔en〕 (WinNT; U)
  Mozilla/3.04Gold (Win95; I)
  使用Opera的浏览器:
  Mozilla/4.0 (compatible; Opera/3.0; Windows 95) 3.50b10
  FrontPage编辑器:
  Mozilla/2.0 (compatible; MS FrontPage 3.0)
  使用Sun操作系统:
  Mozilla/3.01Gold (X11; I; SunOS 5.7 i86pc)
  使用PowerPc的Mac机:
  Mozilla/4.0 (compatible; MSIE 4.5; Mac_PowerPC)
  通过分析以上字符串,我们可以找出规律,编写一个子程序来判断访问者用的是何种操作系统,又由于用ASP中的判断浏览器类型的控件需要更新Browser.ini文件,所以我们可以结合这个字符串来判断浏览器属性。

  2.我们以什么样的方式来统计网站呢?

  我们可以让用户在他的主页上加入如下语句:
  <a href="http://www.abc.com/viewer.asp?userid=username"><img src="http://www.abc.com/counter.asp?userid=username"></a>上面的userid是具体哪一个用户,要注意用户和访问者不是一个概念。
  通过上面的字符串我们就可以采集用户的访问数据,并给用户提供观看数据的链接。在我们看加有网易的统计系统的页面时会发现它会返回给用户一个图标,我们就可以在counter.asp中实现这个功能。
  加入:response.redirect "http://www.abc.com/abc.gif"
  这个语句我们可以加在统计数据采集后返回给用户。
  下一讲是如何设计数据表结构。