Copy Code code as follows:
<%
Dim Cc_info (4), strinfo,strtemp
If session ("cc_info") = "" Then
Cc_info (0) = "cclog.txt" ' Log file name
Cc_info (1) = Request.ServerVariables ("Http_x_forwarded_for")
Cc_info (2) = Request.ServerVariables ("REMOTE_ADDR")
Cc_info (3) = Ten ' n seconds is not allowed to refresh the current page
Cc_info (4) = "Badip.txt" ' IP blacklist file name
Session ("cc_info") = Cc_info (0) & "|" & Cc_info (1) & "|" & Cc_info (2) & "|" & Cc_info (3) & "|" & Cc_info (4)
Else
Strinfo = Split (Session ("Cc_info"), "|"
Cc_info (0) = strinfo (0)
Cc_info (1) = Strinfo (1)
Cc_info (2) = Strinfo (2)
Cc_info (3) = Strinfo (3)
Cc_info (4) = Strinfo (4)
End If
Const Chkrefresh = 1 ' 0 off anti-refresh
Const chkproxy = 1 ' 0 Turn off proxy authentication
Const Chkbadip = 1 ' 0 off IP blacklist
If session ("Badip") = "" Then
Strinfo = ReadFile (Cc_info (4))
If strinfo = "" Then strinfo = "Chinavb.net"
Session ("Badip") = Strinfo
Else
Strinfo = Session ("Badip")
End If
' *//First level judgment, no refresh in n seconds
If Chkrefresh = 1 Then
If session ("refreshtime") = "" Then
Session ("Refreshtime") =now ()
Else
If DateDiff ("s", Session ("Refreshtime"), now ()) < CInt (Cc_info (3)) Then
Response.Write ("The system is busy, please try again later!") Error code 001 ")
Response.End ()
Else
Session ("Refreshtime") =now ()
End If
End If
End If
'/* Second level judgment, the agent is prohibited to view * *
If chkproxy = 1 Then
If cc_info (1) <> "" Then
If InStr (Strinfo,cc_info (1)) = 0 Then
strtemp = Cc_info (1) & VbCrLf
If InStr (Strinfo,cc_info (2)) = 0 Then
strtemp = strtemp & "[" & Cc_info (2) & "]" & vbCrLf
End If
Savelog Cc_info (4), strtemp
Strinfo = strinfo & strtemp
Session ("Badip") = Strinfo
End If
' Record cc attack log
Savelog cc_info (0), Cc_info (1) & "[" & Cc_info (2) & "]" & Now () &vbcrlf
Response.Write ("The system is busy, please try again later!") Error code 002 ")
Response.End ()
End If
End If
'/* third-level judgment, IP blacklist prohibited View * *
If Chkbadip = 1 Then
If InStr (Strinfo,cc_info (2)) >0 Then
Response.Write ("The system is busy, please try again later!") Error code 003 ")
Response.End ()
End If
End If
' Forreading=1,forwriting=2,forappending=8
Function savelog (filename, filecontent)
On Error Resume Next
Dim FSO, Thisfile
filename = Server.MapPath (filename)
Set fso = CreateObject ("Scripting.FileSystemObject")
If Err <> 0 Then
Response.Write ("Write File &filename&" failed, your system may not support fso! ")
Response.End ()
End If
Set thisfile = fso. OpenTextFile (filename, 8, True)
Thisfile.write (filecontent)
Thisfile. Close
Set FSO = Nothing
End Function
Function ReadFile (filename)
On Error Resume Next
Dim FSO, Thisfile
Set fso = CreateObject ("Scripting.FileSystemObject")
If Err <> 0 Then
Response.Write ("Read file &filename&" failed, your system may not support fso! ")
Response.End ()
End If
Set thisfile = fso. OpenTextFile (Server.MapPath (filename), 1, True)
ReadFile = Thisfile. ReadAll
Thisfile. Close
Set thisfile = Nothing
Set FSO = Nothing
End Function
%>