Heim php教程 php手册 浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法

浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法

Jun 06, 2016 pm 08:30 PM
ddos dns

本篇文章是对PHP程序防止ddos,dns,集群服务器攻击的解决办法进行了详细的分析介绍,需要的朋友参考下

废话不多说,香港虚拟主机,服务器空间,上代码

复制代码 代码如下:


//查询禁止IP
$ip =$_SERVER['REMOTE_ADDR'];
$fileht=".htaccess2";
if(!file_exists($fileht))
file_put_contents($fileht,"");
$filehtarr=@file($fileht);
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!");
//加入禁止IP
$time=time();
$fileforbid="log/forbidchk.dat";
if(file_exists($fileforbid)) {
if($time-filemtime($fileforbid)>60)
unlink($fileforbid);
else {
$fileforbidarr=@file($fileforbid);
if($ip==substr($fileforbidarr[0],0,strlen($ip))) {
if($time-substr($fileforbidarr[1],0,strlen($time))>600)
unlink($fileforbid);
elseif($fileforbidarr[2]>600) {
file_put_contents($fileht,$ip."\r\n",FILE_APPEND);
unlink($fileforbid);
} else {
$fileforbidarr[2]++;
file_put_contents($fileforbid,$fileforbidarr);
}
}
}
}
//防刷新
$str="";
$file="log/ipdate.dat";
if(!file_exists("log")&&!is_dir("log"))
mkdir("log",0777);
if(!file_exists($file))
file_put_contents($file,"");
$allowTime = 120;//防刷新时间
$allowNum=10;//防刷新次数
$uri=$_SERVER['REQUEST_URI'];
$checkip=md5($ip);
$checkuri=md5($uri);
$yesno=true;
$ipdate=@file($file);
foreach($ipdate as $k=>$v) {
$iptem=substr($v,0,32);
$uritem=substr($v,32,32);
$timetem=substr($v,64,10);
$numtem=substr($v,74);
if($time-$timetem if($iptem!=$checkip)
$str.=$v;
else {
$yesno=false;
if($uritem!=$checkuri)
$str.=$iptem.$checkuri.$time."1\r\n";
elseif($numtem $str.=$iptem.$uritem.$timetem.($numtem+1)."\r\n";
else {
if(!file_exists($fileforbid)) {
$addforbidarr=array($ip."\r\n",time()."\r\n",1);
file_put_contents($fileforbid,$addforbidarr);
}
file_put_contents("log/forbided_ip.log",$ip."--".date("Y-m-d H:i:s",time())."--".$uri."\r\n",FILE_APPEND);
$timepass=$timetem+$allowTime-$time;
die("Warning:"."
"."Sorry,you are forbided by refreshing frequently too much, Pls wait for ".$timepass." seconds to continue!");
}
}
}
}
if($yesno) $str.=$checkip.$checkuri.$time."1\r\n";
file_put_contents($file,$str);
?>

,香港服务器
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

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So beheben Sie einen Win11-DNS-Serverfehler So beheben Sie einen Win11-DNS-Serverfehler Jan 10, 2024 pm 09:02 PM

So beheben Sie einen Win11-DNS-Serverfehler

Fix: Windows 11-Update-Fehler 0x80072ee7 Fix: Windows 11-Update-Fehler 0x80072ee7 Apr 14, 2023 pm 01:31 PM

Fix: Windows 11-Update-Fehler 0x80072ee7

So weisen Sie einer LAN-Karte unter Windows 10/11 mehrere IP-Adressen zu So weisen Sie einer LAN-Karte unter Windows 10/11 mehrere IP-Adressen zu May 30, 2023 am 11:25 AM

So weisen Sie einer LAN-Karte unter Windows 10/11 mehrere IP-Adressen zu

So lösen Sie den Steam-Fehlercode 105. Es konnte keine Verbindung zum Server hergestellt werden? So lösen Sie den Steam-Fehlercode 105. Es konnte keine Verbindung zum Server hergestellt werden? Apr 22, 2023 pm 10:16 PM

So lösen Sie den Steam-Fehlercode 105. Es konnte keine Verbindung zum Server hergestellt werden?

So beheben Sie die Download-Geschwindigkeit der Xbox Series S/X, reduzieren Ping und Verzögerungen So beheben Sie die Download-Geschwindigkeit der Xbox Series S/X, reduzieren Ping und Verzögerungen Apr 16, 2023 pm 04:49 PM

So beheben Sie die Download-Geschwindigkeit der Xbox Series S/X, reduzieren Ping und Verzögerungen

So ändern Sie die DNS-Einstellungen unter Windows 11 So ändern Sie die DNS-Einstellungen unter Windows 11 May 01, 2023 pm 06:58 PM

So ändern Sie die DNS-Einstellungen unter Windows 11

Behebung: Problem mit nicht reagierendem DNS-Server in Windows 11 Behebung: Problem mit nicht reagierendem DNS-Server in Windows 11 Jun 01, 2023 pm 04:52 PM

Behebung: Problem mit nicht reagierendem DNS-Server in Windows 11

Wie behebe ich ein SSL-Fehlerproblem auf dem iPhone? (gelöst) Wie behebe ich ein SSL-Fehlerproblem auf dem iPhone? (gelöst) Apr 22, 2023 pm 04:49 PM

Wie behebe ich ein SSL-Fehlerproblem auf dem iPhone? (gelöst)

See all articles