[代码] ddos,dns,集群服务器攻击QQ33258影子可以测试满意担保
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<$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:"."<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 |
?> |