asp实现限制一个ip只能访问一次的方法(Apache访问控制的两种)不要告诉别人

随心笔谈1年前 (2023)发布 admin
117 0


<%
‘/////////////////////////////////////////////////////
‘// //
‘//作用:一个IP地址只允许访问本页一次 //
‘//引用:<!– #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
%>

© 版权声明

相关文章