Asp 防御CC攻击模块 (Anti-CC.asp)

Asp 防御CC攻击模块 (Anti-CC.asp)

嘿嘿嘿,搞了个小玩意儿,Asp 防御CC攻击模块 (Anti-CC.asp)……

由于我追求精确统计,所以每次访问都会给文章点击数+1,注意,是每次访问,刷新也算。

所以嘛,有个蛋疼的小弊端,如果你一直按着F5不放的话…… 囧,就多了好几千访问量……

前几天半夜,有个2货刷了几千访问,虽然没什么危害,但是总觉得不是个事,于是乎就抽时间写了个防御CC攻击的模块。

该模块对所有Asp脚本通用,独立运行的,只需要在想保护的页面加上:<!--#include file="Inc/Anti-CC.asp"-->,即可。

脚本规则如下:

1、连续10次访问频率低于1秒的,判定为攻击,封禁IP,这个时间和次数可以自定义,规则放的比较宽,误判几率极低。

2、封禁时间按照攻击频率计算,攻击频率越高,封的越久,如果你在封禁时间段内仍旧访问,那么封禁时间会累积增加,你要是被封了10分钟以上,建议你还是换IP吧,囧……

3、移除掉15分钟内没有访问的用户(时间可自定义)。

由于是高速内存全局变量,不读写文件,不读写数据库,高效查询,所以不必担心会消耗很多资源,实际上只消耗极少的极少的资源,还没你正常访问消耗得多,可忽略不计。

给个查询接口,显示当前所有在线用户:https://lcx.cc/?cc=showuser,如果阈值大于10,那表示是被封的用户,囧……

想测试效果的同学,可以随便找个页面狂按F5即可,至于代码嘛,过一段时间再放吧。


2011-12-29 21:16:42 补充:

源码已发,Asp 防御CC攻击模块 (Anti-CC.asp):https://lcx.cc/post/2094/