Home >Backend Development >PHP Tutorial >PHP程序防止ddos,dns,集群服务器攻击_PHP教程

PHP程序防止ddos,dns,集群服务器攻击_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:37:521718browse

代码片段(1)

[代码] ddos,dns,集群服务器攻击QQ33258影子可以测试满意担保

view source print? 001   002 <?php 003   004 //查询禁止IP 005   006 $ip =$_SERVER['REMOTE_ADDR']; 007   008 $fileht=".htaccess2"; 009   010 if(!file_exists($fileht))file_put_contents($fileht,""); 011   012 $filehtarr=@file($fileht); 013   014 if(in_array($ip."\r\n",$filehtarr))die("Warning:"."<br>"."Your IP address are forbided by some reason, IF you have any question Pls emill to shop@mydalle.com!"); 015   016   017   018 //加入禁止IP 019   020 $time=time(); 021   022 $fileforbid="log/forbidchk.dat"; 023   024 if(file_exists($fileforbid)) 025   026 if($time-filemtime($fileforbid)>60)unlink($fileforbid); 027   028 else{ 029   030 $fileforbidarr=@file($fileforbid); 031   032 if($ip==substr($fileforbidarr[0],0,strlen($ip))) 033   034 { 035   036 if($time-substr($fileforbidarr[1],0,strlen($time))>600)unlink($fileforbid); 037   038 elseif($fileforbidarr[2]>600){file_put_contents($fileht,$ip."\r\n",FILE_APPEND);unlink($fileforbid);} 039   040 else{$fileforbidarr[2]++;file_put_contents($fileforbid,$fileforbidarr);} 041   042 } 043   044 } 045   046 } 047   048 //防刷新 049   050 $str=""; 051   052 $file="log/ipdate.dat"; 053   054 if(!file_exists("log")&&!is_dir("log"))mkdir("log",0777); 055   056 if(!file_exists($file))file_put_contents($file,""); 057   058 $allowTime = 120;//防刷新时间 059   060 $allowNum=10;//防刷新次数 061   062 $uri=$_SERVER['REQUEST_URI']; 063   064 $checkip=md5($ip); 065   066 $checkuri=md5($uri); 067   068 $yesno=true; 069   070 $ipdate=@file($file); 071   072 foreach($ipdate as $k=>$v) 073   074 { $iptem=substr($v,0,32); 075   076 $uritem=substr($v,32,32); 077   078 $timetem=substr($v,64,10); 079   080 $numtem=substr($v,74); 081   082 if($time-$timetem 083   084 if($iptem!=$checkip)$str.=$v; 085   086 else{ 087   088 $yesno=false; 089   090 if($uritem!=$checkuri)$str.=$iptem.$checkuri.$time."1\r\n"; 091   092 elseif($numtem"\r\n"; 093   094 else 095   096 { 097   098 if(!file_exists($fileforbid)){$addforbidarr=array($ip."\r\n",time()."\r\n",1);file_put_contents($fileforbid,$addforbidarr);} 099   100 file_put_contents("log/forbided_ip.log",$ip."--".date("Y-m-d H:i:s",time())."--".$uri."\r\n",FILE_APPEND); 101   102 $timepass=$timetem+$allowTime-$time; 103   104 die("Warning:"."<br>"."Sorry,you are forbided by refreshing frequently too much, Pls wait for ".$timepass." seconds to continue!"); 105   106 } 107   108 } 109   110 } 111   112 } 113   114 if($yesno) $str.=$checkip.$checkuri.$time."1\r\n"; 115   116 file_put_contents($file,$str); 117   118 ?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/735156.htmlTechArticle代码片段 (1) [代码] ddos,dns,集群服务器攻击QQ33258影子可以测试满意担保 view source print? 001 002 ?php 003 004 //查询禁止IP 005 006 $ip =$_SERVER[ REMOTE...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn