代码片段(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
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
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
?>
http://www.bkjia.com/PHPjc/735156.htmlwww.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...