分享自己編寫的一個很簡單的網站訪問跟蹤程序

分享自己編寫的一個很簡單的網站訪問跟蹤程序

 

公司挺多小的一些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檢索即可對它們進行查詢,或者也可根據需要開發一些檢索頁面供其他用戶查看。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章