利用PHP建立免费DDOS防火墙

防火墙很多种,各有各的不同,唯一的相同点,就是一个字“贵”,且防火墙的设置也是一个很大的繁琐问题,设置好了之后,对于程序产生的负面的影响,也算一个大问题。所以,我在考虑能否不用钱,用简单的方法实现PHP防火墙的编写。

于是编写出了第一个版本:“鬼见愁一型”PHP防火墙,这个防火墙的原理很简单,记录IP的次数,一旦30秒内超过300次访问,自动跳出程序。这个防火墙被我自己测试的时候,完美的屏蔽了肉鸡的IP,本来以为很简单的完成了任务了。结果发现忽然连续三天网站被人攻陷。

查了原因,并非鬼见愁一型的毛病,而是鬼见愁一型需要用MYSQL来记录这些DDOS的肉鸡IP。而在大规模攻击下,MYSQL会崩溃掉,于是PHP防火墙也随之崩溃。出于这个原因,周同学我就编写了“鬼见愁2型PHP防火墙”。

鬼见愁二型专门围绕的MYSQL崩溃的保护进行了一个比较强悍的设计。首先它第一步不记录IP,这么一来就无需insert (插入)数据库的操作了,由于没有插入操作,因此数据库的崩溃概率小了很多。其次,它记录了总访问的数量以及运算出前10秒的访问总量。

当大规模DDOS攻击来临的时候,访问总量会超过临界值。于是PHP系统就会启动一级防护,一级防护启动之后,系统会启动“识别是肉鸡还是活人”的流程,任何一个IP都会转移到一个页面上面,叫你输入验证码,以证明是活人。活人输入之后,可以正常访问,而肉鸡不输入,则被挡在程序的外围。由于一级防护无需插入数据库,因此也不会导致数据库崩溃。

当更大规模的DDOS来临的时候,超过一个临界值,系统就会拒绝所有的服务,显示:本站暂停服务,请2小时后再来。然后跳出程序,对于极大规模的DDOS,系统就不再以服务为主了,而是重要的是保护数据库不再崩溃了。

现在遇上DDOS啊,防火墙又繁琐又麻烦,又贵。我们劳动人民应该用新型的PHP防火墙来防护DDOS,我自己亲自实践来看,只要不是“国家级”黑客,普通中小黑客完全是没啥大的问题的。

陕西弈聪软件信息技术股份有限公司
电话:13679229477    02989322522
陕西省西安航天基地神州四路科为城墅20栋4301