限制一個Ip只能訪問一次,轉載於bacde的技術博客,現在將asp代碼分享給大家:
<%
'/////////////////////////////////////////////////////
'// //
'//作用:一個IP地址只允許訪問本頁一次 //
'//作者:BaCde 2010年3月1日 //
'//引用:<!-- #include file="Check_Ip.asp" --> //
'// //
'/////////////////////////////////////////////////////
'Response.Charset = 936 '設置輸出編碼為簡體中文
'Response.Buffer = false '關閉緩沖區
Dim Fso,ts,IpList,Cfs
'設置Cookies函數
Function SetCookie()
Response.Cookies("IsBrow") = "Brow"
Response.Cookies("IsBrow").Expires = Date+365
End Function
'記錄IP地址函數
Function WriteIp(FileName, IpAddress)
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
Set ts = Fso.OpenTextFile(Server.MapPath(FileName),8,true)
ts.WriteLine IpAddress
ts.Close
Set ts = Nothing
Set Fso = Nothing
End Function
'讀取IP地址函數
Function ReadIpList(FileName)
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
If Not Fso.FileExists(Server.MapPath(FileName)) Then
CreateFile("Iplist.txt")
Exit Function
End If
Set ts = Fso.OpenTextFile(Server.MapPath(FileName))
Iplist = ts.ReadAll
ts.Close
Set ts = Nothing
Set Fso = Nothing
ReadIpList = Iplist
End Function
'創建文件函數
Function CreateFile(FileName)
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
Set Cfs = Fso.CreateTextFile(Server.MapPath(FileName))
Cfs.Close
Set Cfs = Nothing
Set Fso = Nothing
End Function
'關閉當前IE窗口函數(注:IE6下通過,其他浏覽器未測試)
Function CloseWindow()
'Response.Write "<script>window.location='javascript:window.opener=null;window.close();'</script>"
Response.Redirect "http://www.baidu.com"
End Function
Ip = Request.ServerVariables("REMOTE_ADDR") '獲取浏覽者IP地址
Cookie = Request.Cookies("IsBrow") '獲取當前Cookies
'Response.Write Cookie
If Request.ServerVariables("HTTP_X_FORWARDED_FOR") <> "" Then
Response.Write "本站不允許使用代理訪問"
Response.End()
Else
If Cookie = "Brow" Then
CloseWindow()
Else
If Instr(ReadIpList("Iplist.txt"),Ip) <> 0 Then
CloseWindow()
Else
WriteIp "Iplist.txt" , Ip
End If
SetCookie()
End If
End If
%>