当前位置:Gxlcms > PHP教程 > PHP程序防止ddos,dns,集群服务器攻击_PHP教程

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

时间:2021-07-01 10:21:17 帮助过:9人阅读

代码片段(1)

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

view source print? 001 002 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:"."
"
."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<$allowTime){ 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<$allowNum)$str.=$iptem.$uritem.$timetem.($numtem+1)."\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:"."
"
."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...

人气教程排行