当前位置:首页 >> 电脑基础

服务器上通过PHP代码解决DDOS的方法

通过PHP代码进行DDOS已经不是什么新鲜事了,其特征是用PHP代码调用sockets,直接用服务器的网络攻击别的IP。在服务器上的表现为一打开IIS,服务器的流出带宽就用光,不管你是10M还是100M,统统用光,也就是说服务器不断向别人发包,这个情况和受到DDOS攻击不同,受到DDOS是不断收到大量数据包,造成带宽占满从而无法提供服务,PHP DDOS是不停的发包,占满带宽,从而无法提供服务。我说管理的服务器就受到了这样的一次攻击,下面来分享下解决办法。
解决服务器上通过PHP代码DDOS第一种方法:找到攻击所属网站并关闭。
找到这个网站
打开IIS错误日志,位置是C:\Windows\System32\LogFiles\HTTPERR\,一般里面有一个httperr1.log的文件,里面有类似这样的记录:
2011-10-19 11:30:39 61.147.121.175 3108 96.139.56.156 80 HTTP/1.1 GET /Editor/sc.php?ip=119.112.90.217&port=80&time=6000 - 26200000 Timer_MinBytesPerSecond DefaultAppPool
主要是看最后三项,上面的范例是26200000 Timer_MinBytesPerSecond DefaultAppPool,26200000是这个利用PHP进行DDOS进行攻击的网站在IIS中的ID,DefaultAppPool就是网站所在的应用程序池,通过这两个参数我们可以在IIS管理器里面快速查到这个网站。
关闭这个网站或者这个应用程序池
通过IIS管理器停止上面日志里面找到的应用程序池,或者就关闭上面的ID的网站。
现在这样一来,利用PHP进行DDOS攻击的网站就被停止了,这样就解决了这个问题。但通过这样的方法解决比较的费时费力,而且如果出现在其他网站还得这样来操作,不能一劳永逸,下面说一个一劳永逸的方法,就是解决服务器上通过PHP代码DDOS第二种方法:禁止UDP访问。
方法一:打开“管理工具”——“本地安全策略”——“IP安全策略”,在IP安全策略中禁止UDP访问;
方法二:打开Windows防火墙,在防火墙中设置禁止UDP访问。
上面2个方法建议使用方法一,因为dns服务需要用UDP,用方法一可以很灵活的设置为允许DNS服务的UDP访问禁止其他所有UDP,规则中可以加入指定的DNS服务器地址,更安全。
为了方便使用,聚友做了一个批处理文件,直接将里面的DNS服务器地址修改成你服务器的DNS服务器地址,再直接执行即可,下载地址:点击此处下载
还有修改PHP配置的方法,但那种方法会造成好多PHP的网站程序不正常,在此就不说了。