较为全面的asp防CC攻击代码分享

复制代码 代码如下:

<%

Dim CC_Info(4),strInfo,strTemp

If Session("CC_Info") = "" Then

CC_Info(0) = "cclog.txt" '日志文件名

CC_Info(1) = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

CC_Info(2) = Request.ServerVariables("REMOTE_ADDR")

CC_Info(3) = 10 'N秒内禁止刷新当前页面

CC_Info(4) = "badip.txt" 'IP黑名单文件名

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关闭防刷新

Const chkProxy = 1 '0关闭代理验证

Const chkBadIP = 1 '0关闭IP黑名单

If Session("BadIP") = "" Then

strInfo = ReadFile(CC_Info(4))

If strInfo = "" Then strInfo = "chinavb.net"

Session("BadIP") = strInfo

Else

strInfo = Session("BadIP")

End If

'/*第一层判断,N秒内禁止刷新*/

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("系统繁忙,请稍候再试!错误代码001")

Response.End()

Else

Session("RefreshTime")=Now()

End If

End If

End If

'/*第二层判断,代理禁止查看*/

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

'记录CC攻击日志

SaveLog CC_Info(0),CC_Info(1) & "["& CC_Info(2) & "]" & Now() &vbCrLf

Response.Write("系统繁忙,请稍候再试!错误代码002")

Response.End()

End If

End If

'/*第三层判断,IP黑名单禁止查看*/

If chkBadIP = 1 Then

If InStr(strInfo,CC_Info(2))>0 Then

Response.Write("系统繁忙,请稍候再试!错误代码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("写入文件"&filename&"失败,可能您的系统不支持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("读取文件"&filename&"失败,可能您的系统不支持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

%>

时间: 2024-08-02 12:40:29

较为全面的asp防CC攻击代码分享的相关文章

较为全面的asp防CC攻击代码分享_应用技巧

复制代码 代码如下: <% Dim CC_Info(4),strInfo,strTemp If Session("CC_Info") = "" Then CC_Info(0) = "cclog.txt" '日志文件名 CC_Info(1) = Request.ServerVariables("HTTP_X_FORWARDED_FOR") CC_Info(2) = Request.ServerVariables("

asp防CC攻击代码分享

<% Dim CC_Info(4),strInfo,strTemp If Session("CC_Info") = "" Then CC_Info(0) = "cclog.txt" '日志文件名 CC_Info(1) = Request.ServerVariables("HTTP_X_FORWARDED_FOR") CC_Info(2) = Request.ServerVariables("REMOTE_ADD

asp防cc攻击函数

 代码如下 复制代码 <% Dim CC_Info(4),strInfo,strTemp If Session("CC_Info") = "" Then CC_Info(0) = "cclog.txt" '日志文件名 CC_Info(1) = Request.ServerVariables("HTTP_X_FORWARDED_FOR") CC_Info(2) = Request.ServerVariables("

较为全面的Asp.net提交验证方案分析 (上)_实用技巧

比如: 验证码存储在页面代码或Cookies里,暴露给客户端: 通过Session存储的验证码,虽然解决了安全问题,但一个用户只使用一个变量存储验证码,假如用户同时打开一个以上的页面,分别提交的话,就无法正常使用了: 验证码不会过期,这会留下隐患,使暴力破解变得可行(当然也可以通过刷新间隔.提交间隔.黑名单等手段加以控制): 此外还有伴随着提交产生的另一个问题--重复提交. 为解决上述问题,我曾走过不少弯路,后来总结出了一个方案可以很好的解决这些问题,本文将结合ADO.NET Entity Fr

飞云防CC攻击ASP程序代码插件_应用技巧

<% '================== '飞云防CC攻击ASP程序插件 '建议除必须修改的参数内容外不要修改其他内容 '如果需要反馈错误或提交意见,可以到落伍(IM286.COM)联系 "正版飞云" '================== dim FYCC_19,FYCC_20,FYCC_21,FYCC_05 dim FYCC_18 FYCC_05="" 'CCLog.txt存放的路径文件夹!需要手动创建!建议留空 '如果输入,请在前面加上符号"

飞云防CC攻击ASP程序代码插件

<% '================== '飞云防CC攻击ASP程序插件 '建议除必须修改的参数内容外不要修改其他内容 '如果需要反馈错误或提交意见,可以到落伍(IM286.COM)联系 "正版飞云" '================== dim FYCC_19,FYCC_20,FYCC_21,FYCC_05 dim FYCC_18 FYCC_05="" 'CCLog.txt存放的路径文件夹!需要手动创建!建议留空 '如果输入,请在前面加上符号"

Linux Vps系统防CC攻击脚本代码

Linux Vps系统防CC攻击自动拉黑IP脚本分2个版本,普通版是加入到crontab计划任务执行的,每5分钟执行一次.增强版主要是为了弥补用crontab执行时间间隔最低只能是1分钟的不足,可以让CC防护更严密,甚至每隔1S执行一次! 功能说明:通过netstat -an命令统计出当前请求并发大于100的IP,然后将不在白名单的IP自动加入DROP规则 使用说明: 1.在Linux系统下将以下代码保存为shell脚本,比如:deny_ip.sh,并执行chmod+x deny_ip.sh加执

飞云写的防CC攻击的ASP程序插件 打包下载_应用技巧

<% '================== '飞云防CC攻击ASP程序插件 '建议除必须修改的参数内容外不要修改其他内容 '如果需要反馈错误或提交意见,可以到落伍(IM286.COM)联系 "正版飞云" '================== dim FYCC_19,FYCC_20,FYCC_21,FYCC_05 dim FYCC_18 FYCC_05="" 'CCLog.txt存放的路径文件夹!需要手动创建!建议留空 '如果输入,请在前面加上符号"

PHP防CC攻击实现代码总结

例1  代码如下 复制代码 //代理IP直接退出 empty($_SERVER['HTTP_VIA']) or exit('Access Denied'); //防止快速刷新 session_start(); $seconds = '3'; //时间段[秒] $refresh = '5'; //刷新次数 //设置监控变量 $cur_time = time(); if(isset($_SESSION['last_time'])){     $_SESSION['refresh_times'] +=