2012-1-4 9:26:51 补充:还能防采集,哈哈哈哈哈,再说一个猥琐的用法,如果你给自定义的404错误页面中,加入了该保护模块,哈哈哈,强大的效果就来了,可以防止扫目录,如果有扫路径的,瞬间被封IP!!!囧,原理你懂得……
该模块对所有Asp脚本通用,独立运行的,只需要在想保护的页面加上:,即可。
脚本规则如下:
1、连续10次访问频率低于1秒的,判定为攻击,封禁IP,这个时间和次数可以自定义,规则放的比较宽,误判几率极低。
2、封禁时间按照攻击频率计算,攻击频率越高,封的越久,如果你在封禁时间段内仍旧访问,那么封禁时间会累积增加,你要是被封了10分钟以上,建议你还是换IP吧,囧……
3、移除掉15分钟内没有访问的用户(时间可自定义)。
由于是高速内存全局变量,不读写文件,不读写数据库,高效查询,所以不必担心会消耗很多资源,实际上只消耗极少的极少的资源,还没你正常访问消耗得多,可忽略不计。
给个查询接口,显示当前所有在线用户:https://lcx.cc/?cc=showuser,如果阈值大于10,那表示是被封的用户,囧……
详细介绍见这里:https://lcx.cc/post/2092/
= CC_Max Then '是否被封 If DateDiff("S", User(3), Now) >= Int(User(1)) Then '判断是否需要解封 User(1) = "0" User(3) = Now SaveToApp User '保存数据 Else User(1) = Int(User(1)) + 1 '累加被封时间 SaveToApp User '保存数据 BanIPMsg (User(1) - DateDiff("S", User(3), Now)) '计算解封剩余时间并显示被封信息 End If Else If DateDiff("S", User(3), Now) = TimeOut Then '超时则销毁变量 ' And Int(User(0))0 Then GetForwarded = Replace(Tmp, vbCrLf, "") Else GetForwarded = Request.ServerVariables("REMOTE_ADDR") End If End Function Function GetFullUrl() '获取完整URL地址 If Request.QueryString "" Then GetFullUrl = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME") & "?" & Request.QueryString Else GetFullUrl = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME") End If GetFullUrl = Replace(GetFullUrl, vbCrLf, "") End Function Function SaveToApp(Data) '保存数据到内存 Application(IP0) = IP1 & vbCrLf & Data(1) & vbCrLf & Data(2) & vbCrLf & User(3) & vbCrLf & BrowX & vbCrLf & GetFullUrl() End Function Function BanIPMsg(LeftTime) 'IP 被封时显示的信息 Response.Clear %> 警告:
你的访问频率太快,请不要快速刷新页面或者尝试 CC 攻击!
你的 IP 地址将于 秒后解封,在此期间你不能访问本站任何页面,届时本页面会自动刷新!
" & vbCrLf & _ "" & vbCrLf & _ "" & vbCrLf & _ "
" & vbCrLf & _ "" Response.End End Function %>" & _ " " & vbCrLf Dim TrColor For Each Anti_CC In Application.Contents '遍历清理超时的用户 User = Split(Application(Anti_CC), vbCrLf) '提取用户数据,并分割为数组 If UBound(User) = 5 Then '判断数据格式是否正确 If TrColor = "#5CADAD" Then '表格自动换色 TrColor = "#95CACA" Else TrColor = "#5CADAD" End If IF Anti_CC User(0) Or Int(User(1)) >= CC_Max Then '高亮显示使用代理、已被屏蔽的用户 TrColor = "#FF9797" End IF Response.Write "代理 IP " & _ "真实 IP " & _ "阈值 " & _ "首次访问 " & _ "最后访问 " & _ "用户信息 " & _ "访问网址 " & _ "" & _ " " & vbCrLf Else '错误的数据 Response.Write "" & Anti_CC & " " & _ "" & Server.HtmlEncode(User(0)) & " " & _ "" & User(1) & " " & _ "" & User(2) & " " & _ "" & User(3) & " " & _ "" & Server.HtmlEncode(User(4)) & " " & _ "" & Server.HtmlEncode(User(5)) & " " & _ "" & _ " " & vbCrLf End If Next Response.Write "" & Anti_CC & " " & _ "Null " & _ "Null " & _ "Null " & _ "Null " & _ "Null " & _ "Error: " & Application(Anti_CC) & " " & _ "
留言评论(旧系统):
文章来源于lcx.cc:Asp 防御CC攻击模块 (Anti-CC.asp)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论