你是否有时想知道什么人访问你的站点,什么时间,IP地址等。下面我就这个问题向大家来阐述一下。这个例子使用文本文件来写入用户的信息创建一个logfile.asp放在每一个asp的页面的顶端<!--#Include File="LogFile.asp"-->当有人来访问你的站点logfile.asp自动把他的信息写入LogFile.txt,如果相关的URl一样的话则不写入文件 File: LogFile.asp
<% Dim ValidEntry ' Log variable ' First set that this log is valid ValidEntry = True
' If Session Variable "LogIn" is not empty ' that mean this person has already been logged ' then set ValidLog to False If not IsEmpty(Session("LogIn")) then ValidEntry = False
' Here you can add different restriction ' If the refering url is from same site ' don't write to log file If Left(Request.ServerVariables("HTTP_REFERER"), 17)="http://devasp.com" Then ValidEntry = False End if If Left(Request.ServerVariables("HTTP_REFERER"), 21)="http://www.devasp.com" Then ValidEntry = False End If
' Now if ValidEntry is True then enter to log file If ValidEntry Then Const ForAppending = 8 Const Create = true Dim FSO DIM TS DIM MyFileName Dim strLog
MyFileName = Server.MapPath("MyLogFile.txt") Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set TS = FSO.OpenTextFile(MyFileName, ForAppending, Create)
' Store all required values in strLog strLog = "<br><P><B>" & now & "</B> " strLog = strLog & Request.ServerVariables("REMOTE_ADDR") & " " strLog = strLog & Request.ServerVariables("HTTP_REFERER") & " " strLog = strLog & Request.ServerVariables("HTTP_USER_AGENT") & "<BR>" ' Write current information to Log Text File. TS.write strLog TS.Writeline "" ' Create a session varialbe to check next time for ValidEntry Session("LogIn") = "yes" Set TS = Nothing Set FSO = Nothing End If %> |