分享自己編寫的一個很簡單的網站訪問跟蹤程序
公司挺多小的一些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檢索即可對它們進行查詢,或者也可根據需要開發一些檢索頁面供其他用戶查看。