php--防止DDos攻击代码

 1 <?php
 2 //查询禁止IP
 3 $ip =$_SERVER[‘REMOTE_ADDR‘];
 4 $fileht=".htaccess2";
 5 if(!file_exists($fileht))file_put_contents($fileht,"");
 6 $filehtarr[email protected]file($fileht);
 7 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 [email protected]!");
 8
 9 //加入禁止IP
10 $time=time();
11 $fileforbid="log/forbidchk.dat";
12 if(file_exists($fileforbid))
13 { if($time-filemtime($fileforbid)>60)unlink($fileforbid);
14 else{
15     $fileforbidarr[email protected]file($fileforbid);
16     if($ip==substr($fileforbidarr[0],0,strlen($ip)))
17     {
18         if($time-substr($fileforbidarr[1],0,strlen($time))>600)unlink($fileforbid);
19         elseif($fileforbidarr[2]>600){file_put_contents($fileht,$ip."\r\n",FILE_APPEND);unlink($fileforbid);}
20         else{$fileforbidarr[2]++;file_put_contents($fileforbid,$fileforbidarr);}
21     }
22 }
23 }
24 //防刷新
25 $str="";
26 $file="log/ipdate.dat";
27 if(!file_exists("log")&&!is_dir("log"))mkdir("log",0777);
28 if(!file_exists($file))file_put_contents($file,"");
29 $allowTime = 120;//防刷新时间
30 $allowNum=10;//防刷新次数
31 $uri=$_SERVER[‘REQUEST_URI‘];
32 $checkip=md5($ip);
33 $checkuri=md5($uri);
34 $yesno=true;
35 $ipdate[email protected]file($file);
36 foreach($ipdate as $k=>$v)
37 { $iptem=substr($v,0,32);
38     $uritem=substr($v,32,32);
39     $timetem=substr($v,64,10);
40     $numtem=substr($v,74);
41     if($time-$timetem<$allowTime){
42         if($iptem!=$checkip)$str.=$v;
43         else{
44             $yesno=false;
45             if($uritem!=$checkuri)$str.=$iptem.$checkuri.$time."1\r\n";
46             elseif($numtem<$allowNum)$str.=$iptem.$uritem.$timetem.($numtem+1)."\r\n";
47             else
48             {
49                 if(!file_exists($fileforbid)){$addforbidarr=array($ip."\r\n",time()."\r\n",1);file_put_contents($fileforbid,$addforbidarr);}
50                 file_put_contents("log/forbided_ip.log",$ip."--".date("Y-m-d H:i:s",time())."--".$uri."\r\n",FILE_APPEND);
51                 $timepass=$timetem+$allowTime-$time;
52                 die("Warning:"."<br>"."Sorry,you are forbided by refreshing frequently too much, Pls wait for ".$timepass." seconds to continue!");
53             }
54         }
55     }
56 }
57 if($yesno) $str.=$checkip.$checkuri.$time."1\r\n";
58 file_put_contents($file,$str);
59 ?>
时间: 2024-10-31 19:05:48

php--防止DDos攻击代码的相关文章

浅谈基于JavaScript的DDOS攻击

CloudFlare通过对上百万个网站进行防护,总结出最古老.最普遍的攻击非DDoS攻击莫属.在传统的DDoS攻击中,攻击者会控制大量的傀儡机,然后向目标服务器发送大量请求,阻止合法用户访问网站. 然而,最近几年DDoS攻击技术不断推陈出新:攻击者用一种新型且很有趣的方式欺骗用户参与到攻击活动中.去年CloudFlare就见证了一次使用NTP映射的攻击,可能是DDoS攻击史上最大的一次攻击(大于400Gbps). 今年的DDoS攻击又出现了一个新的攻击趋势:使用恶意的JavaScript欺骗用户

【DDOS】DNS放大拒绝服务攻击代码

/* DNS 头定义 */ struct dnshdr { unsigned short id; unsigned short flags; unsigned short qdcount; unsigned short ancount; unsigned short nscount; unsigned short arcount; }; #pragma pack(pop) int t_raw_socket = 0; int t_scr_ip = 0; int t_dns_ip = 0; int

反爬虫和抗DDOS攻击技术实践

导语 企鹅媒体平台媒体名片页反爬虫技术实践,分布式网页爬虫技术.利用人工智能进行人机识别.图像识别码.频率访问控制.利用无头浏览器PhantomJS.Selenium 进行网页抓取等相关技术不在本文讨论范围内. Cookie是什么 大家都知道http请求是无状态的,为了让http请求从"无状态" to "有状态" , W3C 在 rfc6265 中描述了整个http协议的状态机制,既从客户端(通常是浏览器)到服务器端的流转过程,cookie 的引入使得 服务器在 接

防止ddos攻击软件DDoS-Deflate 的安装和使用

                 防止ddos攻击软件DDoS-Deflate 的安装和使用 系统环境:Centos 6.5 X64 测试完成日期为2017.6.14 by evan.li 1.安装 DDoS deflate [[email protected] ]# wget http://www.inetbase.com/scripts/ddos/install.sh [[email protected] ]# chmod 0700 install.sh [[email protected]

DDoS deflate - Linux下防御/减轻DDOS攻击

前言 互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事.在没有硬防的情况下,寻找软件代替是最直接的方法,比如用iptables,但是iptables不能在自动屏蔽,只能手动屏蔽.今天要说的就是一款能够自动屏蔽DDOS攻击者IP的软件:DDoS deflate. DDoS deflate介绍 DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本.它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限 制时,该程序会通过APF或IP

使用DDOS deflate抵御少量DDOS攻击

DDoS-Deflate是一款非常小巧的防御和减轻DDoS攻击的工具,它可以通过监测netstat来跟踪来创建大量互联网连接的IP地址信息,通过APF或IPTABLES禁止或阻档这些非常IP地址. 我们可以使用netstat命令查看当前系统连接的状态,是否有受到DDOS攻击 [[email protected] ~]# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 1.安装DDoS deflate

DDOS攻击原理及防护方法论

从 07年的爱沙尼亚DDOS信息战,到今年广西南宁30个网吧遭受到DDOS勒索,再到新浪网遭受DDOS攻击无法提供对外服务500多分钟. DDOS愈演愈烈,攻击事件明显增多,攻击流量也明显增大,形势十分严峻,超过1G的攻击流量频频出现,CNCERT/CC掌握的数据表明,最高时达到了 12G,这样流量,甚至连专业的机房都无法抵挡.更为严峻的是:利用DDOS攻击手段敲诈勒索已经形成了一条完整的产业链!并且,攻击者实施成本极低,在 网上可以随便搜索到一大堆攻击脚本.工具工具,对攻击者的技术要求也越来越

Linux iptables防火墙详解 + 配置抗DDOS攻击策略实战

inux iptables防火墙详解 + 配置抗DDOS攻击策略实战 Linux 内核中很早就实现了网络防火墙功能,在不同的Linux内核版本中,使用了不同的软件实现防火墙功能.在2.0内核中,防火墙操作工具叫:ipfwadm在2.2内核中,防火墙操作工具叫:ipchains在2.4以后的内核,防火墙操作工具叫:iptables ipfwadm 和 ipchains 比较老,已成历史版本,本章主要介绍Iptables 一.iptable 操作命令参数详解 -A  APPEND,追加一条规则(放到

C&amp;C控制服务的设计和侦测方法综述——DDoS攻击,上传从宿主机偷窃的到的信息,定时给感染机文件加密勒索等。

这篇文章总结了一些我在安全工作里见到过的千奇百怪的C&C控制服务器的设计方法以及对应的侦测方法,在每个C&C控制服务先介绍黑帽部分即针对不同目的的C&C服务器设计方法,再介绍白帽部分即相关侦测办法,大家来感受一下西方的那一套.这里的白帽部分有一部分侦测方法需要一些数据和统计知识,我也顺便从原理上简单讨论了一下用数据进行安全分析的方法,从数学和数据原理上思考为什么这么做,可以当作数据科学在安全领域的一些例子学习一下. 0x00 什么是C&C服务器 C&C服务器(又称C