// 查询禁止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代码相关推荐

  1. 如何防御网站被ddos攻击 首先要了解什么是流量攻击

    什么是DDOS流量攻击?我们大多数人第一眼看到这个DDOS就觉得是英文的,有点难度,毕竟是国外的,其实简单通俗来讲,DDOS攻击是利用带宽的流量来攻击服务器以及网站. 举个例子,服务器目前带宽是100 ...

  2. java 流量攻击_如何防御网站被ddos攻击 首先要了解什么是流量攻击

    什么是DDOS流量攻击?我们大多数人第一眼看到这个DDOS就觉得是英文的,有点难度,毕竟是国外的,其实简单通俗来讲,DDOS攻击是利用带宽的流量来攻击服务器以及网站. 举个例子,服务器目前带宽是100 ...

  3. 守住你的网站:防御DDoS***指南

    随着Internet互联网络带宽的增加和多种DDOS***工具的不断发布,DDOS拒绝服务***的实施越来越容易,DDOS***事件正在成上升趋势,解决DDOS***问题成为网络服务商必须考虑的头等大 ...

  4. 网站被DDOS***怎么防御,推荐网站CDN防御

    CDN的全称是Content Delivery Network,即内容分发网络.其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容以就近原则发布到离用户最近的节点,减少网络拥塞, ...

  5. 网站防御DDoS的方案--高防节点(高防IP)

    原文网址:网站防御DDoS的方案--高防节点(高防IP)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍如何使用高防节点防御DDoS攻击. 本文包含的内容有:DDos的概念,高防节点的防御原理,提供 ...

  6. 浅谈 DDoS 攻击与防御

    浅谈 DDoS 攻击与防御 原创: iMike 运维之美  什么是 DDoS DDoS 是英文 Distributed Denial of Service 的缩写,中文译作分布式拒绝服务.那什么又是拒 ...

  7. ddos流量攻击有多少G_锐速云高防IP 专业防御大流量DDoS攻击

    DDoS攻击是目前互联网中最常见的网络攻击方式之一,通过大量虚假流量对目标服务器进行攻击,堵塞网络耗尽服务器性能,导致服务器崩溃,使得真正的用户也无法正常访问了,可见DDoS攻击给用户造成了恶劣的影响 ...

  8. DDos应用层攻击防御

    目录 DNS类报文攻击防御 DNS交互过程 DNS Request Flood攻击与防御原理 DNS Reply Flood攻击与防御原理 未知域名攻击与防御原理 DNS缓存投毒攻击与防御原理 HTT ...

  9. DDoS 攻击与防御

    1. 什么是 DDoS 分布式拒绝服务攻击(Distributed Denial of Service),是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击.由于攻击的发出点是分布在不同地方的, ...

  10. DDoS云防御,云盾云防御专业防御大流量DDoS***

    云盾DDoS云防御(DDoS Cloud Defense)-随着Internet互联网的不断普及,网络带宽的增加,高速广泛连接的网络给大家带来了方便,也为DDoS***创造了极为有利的条件.更为严峻的 ...

最新文章

  1. 基于多种服务的地理位置查询系统
  2. java类spring加载_spring的加载机制?
  3. JAVA MYSQL从数据库中提取图片_java web将图片存到储数据库和从数据库中读取图片...
  4. 【JAVA 第三章 流程控制语句】课后习题 判断用户输入的数是否为质数
  5. 在线重定义生产环境大表分区的惨烈踩雷记录
  6. JDK、TOMCAT 配置环境变量
  7. SpringBoot项目整合Retrofit最佳实践,这才是最优雅的HTTP客户端工具!
  8. opencv之绘制多边形----cv2.polylines, cv2.fillPoly
  9. FreeRTOS基础教程第一章创建任务
  10. 网络限速软件测试大乐,宽带测速谁靠谱?网速测试软件大对比
  11. 搭建阿里云服务器内有阿里云幸运券
  12. 【C#】基于Opencv/Emgucv的身份证识别
  13. 一键获取网页MP3音乐播放源文件
  14. 高等数学笔记-苏德矿-第十章-曲线积分和曲面积分-第七节-高斯公式与斯托克斯公式
  15. 思考分析常用思维模型
  16. C语言单链表,能直接运行的代码!
  17. 解决页面报错 500-内部服务器错误
  18. 行级锁,表级锁,乐观锁,悲观锁简介
  19. android nfc 原始读取,Android NFC读取数据
  20. 两电源之间接0.1UF的电容起什么作用?

热门文章

  1. VM虚拟机下安装vulkan的踩坑
  2. Python编写:好友管理系统
  3. ABAQUS中获取参考点时间-位移曲线
  4. 联想拯救者y7000p 2021安装Ubuntu18.04记录
  5. SVN客户端安装教程
  6. PPT高级教程及技巧
  7. 八重州8900如何解锁_八重贵族怪胎之路
  8. 如何使用IBM SPSS Statistics进行描述性分析
  9. python反编译学习之字节码详解
  10. html中div页面布局,前端入门篇(二):利用Div + CSS快速布局页面