php ddos防御,网站防御DDOS的PHP代码
// 查询禁止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 < $allowTime)
{
if ($iptem != $checkip)$str .= $v;
else
{
$yesno = false;
if ($uritem != $checkuri)$str .= $iptem . $checkuri . $time . "1\r\n";
elseif ($numtem < $allowNum)$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);
?>
php ddos防御,网站防御DDOS的PHP代码相关推荐
- 如何防御网站被ddos攻击 首先要了解什么是流量攻击
什么是DDOS流量攻击?我们大多数人第一眼看到这个DDOS就觉得是英文的,有点难度,毕竟是国外的,其实简单通俗来讲,DDOS攻击是利用带宽的流量来攻击服务器以及网站. 举个例子,服务器目前带宽是100 ...
- java 流量攻击_如何防御网站被ddos攻击 首先要了解什么是流量攻击
什么是DDOS流量攻击?我们大多数人第一眼看到这个DDOS就觉得是英文的,有点难度,毕竟是国外的,其实简单通俗来讲,DDOS攻击是利用带宽的流量来攻击服务器以及网站. 举个例子,服务器目前带宽是100 ...
- 守住你的网站:防御DDoS***指南
随着Internet互联网络带宽的增加和多种DDOS***工具的不断发布,DDOS拒绝服务***的实施越来越容易,DDOS***事件正在成上升趋势,解决DDOS***问题成为网络服务商必须考虑的头等大 ...
- 网站被DDOS***怎么防御,推荐网站CDN防御
CDN的全称是Content Delivery Network,即内容分发网络.其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容以就近原则发布到离用户最近的节点,减少网络拥塞, ...
- 网站防御DDoS的方案--高防节点(高防IP)
原文网址:网站防御DDoS的方案--高防节点(高防IP)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍如何使用高防节点防御DDoS攻击. 本文包含的内容有:DDos的概念,高防节点的防御原理,提供 ...
- 浅谈 DDoS 攻击与防御
浅谈 DDoS 攻击与防御 原创: iMike 运维之美 什么是 DDoS DDoS 是英文 Distributed Denial of Service 的缩写,中文译作分布式拒绝服务.那什么又是拒 ...
- ddos流量攻击有多少G_锐速云高防IP 专业防御大流量DDoS攻击
DDoS攻击是目前互联网中最常见的网络攻击方式之一,通过大量虚假流量对目标服务器进行攻击,堵塞网络耗尽服务器性能,导致服务器崩溃,使得真正的用户也无法正常访问了,可见DDoS攻击给用户造成了恶劣的影响 ...
- DDos应用层攻击防御
目录 DNS类报文攻击防御 DNS交互过程 DNS Request Flood攻击与防御原理 DNS Reply Flood攻击与防御原理 未知域名攻击与防御原理 DNS缓存投毒攻击与防御原理 HTT ...
- DDoS 攻击与防御
1. 什么是 DDoS 分布式拒绝服务攻击(Distributed Denial of Service),是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击.由于攻击的发出点是分布在不同地方的, ...
- DDoS云防御,云盾云防御专业防御大流量DDoS***
云盾DDoS云防御(DDoS Cloud Defense)-随着Internet互联网的不断普及,网络带宽的增加,高速广泛连接的网络给大家带来了方便,也为DDoS***创造了极为有利的条件.更为严峻的 ...
最新文章
- 基于多种服务的地理位置查询系统
- java类spring加载_spring的加载机制?
- JAVA MYSQL从数据库中提取图片_java web将图片存到储数据库和从数据库中读取图片...
- 【JAVA 第三章 流程控制语句】课后习题 判断用户输入的数是否为质数
- 在线重定义生产环境大表分区的惨烈踩雷记录
- JDK、TOMCAT 配置环境变量
- SpringBoot项目整合Retrofit最佳实践,这才是最优雅的HTTP客户端工具!
- opencv之绘制多边形----cv2.polylines, cv2.fillPoly
- FreeRTOS基础教程第一章创建任务
- 网络限速软件测试大乐,宽带测速谁靠谱?网速测试软件大对比
- 搭建阿里云服务器内有阿里云幸运券
- 【C#】基于Opencv/Emgucv的身份证识别
- 一键获取网页MP3音乐播放源文件
- 高等数学笔记-苏德矿-第十章-曲线积分和曲面积分-第七节-高斯公式与斯托克斯公式
- 思考分析常用思维模型
- C语言单链表,能直接运行的代码!
- 解决页面报错 500-内部服务器错误
- 行级锁,表级锁,乐观锁,悲观锁简介
- android nfc 原始读取,Android NFC读取数据
- 两电源之间接0.1UF的电容起什么作用?