Heim > php教程 > php手册 > PHP程序防止ddos,dns,集群服务器攻击

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

WBOY
Freigeben: 2016-06-13 09:42:31
Original
1596 Leute haben es durchsucht

代码片段(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 ?>
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage