PHP程序防止ddos,dns,集群服务器攻击
代码片段(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
?>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Working with database in CakePHP is very easy. We will understand the CRUD (Create, Read, Update, Delete) operations in this chapter.

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Validator can be created by adding the following two lines in the controller.

Logging in CakePHP is a very easy task. You just have to use one function. You can log errors, exceptions, user activities, action taken by users, for any background process like cronjob. Logging data in CakePHP is easy. The log() function is provide

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c
