简单防止CC攻击的方法

代码如下,帖在你的CONN。ASP文件里面就OK了!


<%
Dim fsoObject
Dim tsObject
dim file
if Request.ServerVariables("HTTP_X_FORWARDED_FOR")="" then  
response.write "系统维护中"
response.end
end if
Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")
file = server.mappath("CCLog.txt")
if not fsoObject.fileexists(file) then
fsoObject.createtextfile file,true,false
end if
set tsObject = fsoObject.OpenTextFile(file,8)
tsObject.Writeline Request.ServerVariables("HTTP_X_FORWARDED_FOR"&"["&Request.ServerVariables("REMOTE_ADDR")&"]"&now()
Set fsoObject = Nothing
Set tsObject = Nothing
response.write "系统维护中"
%>

1个小时后再去看看吧,这样会生成CCLog.txt,它的记录格式是:真实IP [代理的IP] 时间,看看哪个真实IP出现的次数多,就知道是谁在攻击了.

 

由于攻击者需要上百的代理,否则不能达到较好的效果,他很可能不会对代理进行一一验证匿名性,只要一发现某IP多次出现在代理中,就能确定他是攻击的本身或者是肉鸡了上面的代码不是防御的,而是发现攻击者的!在1个小时后,查看生成的CCLog.txt,获得攻击者的IP之后,就要删除了,不然连带正常访问都无法访问!


而并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的IP,同时因为网络的关系,攻击者要获得完全匿名的代理也是不难的,代理中国就有直接的匿名代理列表,这样是无法做到获取攻击者证据了,不是我小看中国网监部门,真的是靠关系靠钱进去的,有技术的没有几个,靠他们,会死人的,所以写了一些下面的代码直接防范,而正常的用户访问没有任何问题,缺点是。。。别想找出谁在攻击你了!


<%

if request.servervariables("http_x_forwarded_for")<>""then
response.write"<fontcolor=#ff0000>您通过了代理服务器,"&_"真实的IP为"&request.servervariables("http_x_forwarded_for")
end if

%>

 

还有就是,可以利用CC攻击的原理,反过来限制CC攻击!


攻击原理是使用代理,不断的刷新消耗资源的页面

那么根据计数器防刷新原理作出以下的代码,Session.这个判断比Cookie更加方便,不光可以IP认证,还可以防刷新模式!不过先说明一下啊,如果你的站正常的访问量很大的话,就要用了,因为Session同样消耗资源!

代码如下:

<%

if session(“refresh”)<> 1 then
Session(“ refresh”)=session(“ refresh”)+1

Response.redirect “index.asp”
End if
%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值