分享自己编写的一个很简单的网站访问跟踪程序
公司挺多小的一些WEB程序,突然想了解一下这些系统被访问的情况到底怎么样,于是便使用ASP和写了一个这样一个非常简单的基于MYSQL数据库的访问跟踪程序。
它的功能非常简单,就是当用户访问某一个页面的时候,将IP、URL、时间等信息保存到数据库中。
下面分享它的代码以及使用方法:
第一步: 创建数据库(我使用的是MYSQL数据库)
drop database if exists clicklog;
create database clicklog;
use clicklog;
drop table if exists t_clicklog;
create table t_clicklog
(
i_logid int auto_increment , #编号
c_url varchar(256), #URL
c_IP varchar(32), #IP
t_time timestamp, #时间
primary key (i_logid)
);
第二步:编写ASP代码
<%
'连接数据库(请注意此处需要根据您的实际情况对连接字符串进行修改)
dim conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "Driver={MySQL ODBC 3.51 Driver};Server=192.168.3.5;Database=clicklog;User=uname; Password=pwd;Option=3;CharSet=gb2312;"
Conn.Open
%>
<%
'记录访问者信息
dim rs
set rs=server.createobject("adodb.recordset")
rs.open "t_clicklog",conn,2,2
rs.addnew
rs("c_url")= Request.querystring("url")
rs("c_IP")= getIP()
rs.update
%>
<%
'关闭数据库连接
set rs = Nothing
conn.close()
set conn = Nothing
%>
<%
函数:获取访问者IP
Private Function getIP()
Dim strIPAddr
If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then
strIPAddr = Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
getIP = Trim(Mid(strIPAddr, 1, 30))
End Function
%>
第三步:使用该程序对网站进行跟踪
1)将以上ASP代码保存为一个页面(设文件名为“addClicklog.asp”),放置到IIS服务器根目录中。
2)在您想要跟踪的网页中嵌入以下代码(请注意ASP和JSP页面不同)
ASP页面:
<Script language="javascript" src=http://192.168.2.6/addClicklog.asp?url=http://<%=Request.ServerVariables("HTTP_HOST")&request.ServerVariables("URL")&"?"&Request.ServerVariables("QUERY_STRING")%>></Script>
JSP页面:
<Script language="javascript" src=http://192.168.2.6/addClicklog.asp?url=<%=request.getRequestURL()%>></Script>
第四步:查看访问记录
所有的访问的记录均保存在数据库中,连接数据库客户端使用sql检索即可对它们进行查询,或者也可根据需要开发一些检索页面供其他用户查看。