什么是cc攻击防御软件?如何防御cc攻击防御软件

PHP防CC攻击实现代码总结-Php安全-Php教程-壹聚教程网PHP防CC攻击实现代码总结
CC攻击就是对方利用程序或一些代理对您的网站进行不间断的访问,造成您的网站处理不了而处于当机状态,下面我们来总结一些防CC攻击的php实例代码,各位朋友可参考。
//代理IP直接退出
empty($_SERVER['HTTP_VIA']) or exit(' Denied');
//防止快速刷新
session_start();
$seconds = '3'; //时间段[秒]
$refresh = '5'; //刷新次数
//设置监控变量
$cur_time = time();
if(isset($_SESSION['last_time'])){
&&& $_SESSION['refresh_times'] += 1;
&&& $_SESSION['refresh_times'] = 1;
&&& $_SESSION['last_time'] = $cur_
//处理监控结果
if($cur_time - $_SESSION['last_time'] & $seconds){
&&& if($_SESSION['refresh_times'] &= $refresh){
&&&&&&& //跳转至攻击者服务器地址
&&&&&&& header(sprintf('Location:%s', 'http://127.0.0.1'));
&&&&&&& exit('Access Denied');
&&& $_SESSION['refresh_times'] = 0;
&&& $_SESSION['last_time'] = $cur_
$P_S_T = $t_array[0] + $t_array[1];
$timestamp = time();
session_start();
$ll_nowtime = $
if (session_is_registered('ll_lasttime')){
$ll_lasttime = $_SESSION['ll_lasttime'];
$ll_times = $_SESSION['ll_times'] + 1;
$_SESSION['ll_times'] = $ll_
$ll_lasttime = $ll_
$ll_times = 1;
$_SESSION['ll_times'] = $ll_
$_SESSION['ll_lasttime'] = $ll_
if (($ll_nowtime - $ll_lasttime)&3){
if ($ll_times&=5){
header(sprintf(&Location: %s&,'http://127.0.0.1'));
$ll_times = 0;
$_SESSION['ll_lasttime'] = $ll_
$_SESSION['ll_times'] = $ll_
一个实例我自己亲测的
[ 03:03:13] [client 61.217.192.39] /index.php
[ 03:03:13] [client 61.217.192.39] /index.php
[ 03:03:13] [client 61.217.192.39] /index.php
[ 03:03:13] [client 61.217.192.39] /index.php
[ 03:03:12] [client 61.217.192.39] /index.php
[ 03:03:12] [client 61.217.192.39] /index.php
[ 03:03:12] [client 61.217.192.39] /index.php
[ 03:03:11] [client 61.217.192.39] /index.php
[ 03:03:11] [client 61.217.192.39] /index.php
[ 03:03:11] [client 61.217.192.39] /index.php
[ 03:03:10] [client 61.217.192.39] /index.php
[ 03:03:10] [client 61.217.192.39] /index.php
下面是PHP方法:将以下代码另存为php文件,然后首行入你的common.php文件中。
&* 防CC攻击郁闷到死,不死版。
&* 如果每秒内网站刷新次数超过2次,延迟5秒后访问。
$cc_min_nums = '1';&&&&&&&&&&&&&&&&&&& //次,刷新次数
$cc_url_time = '5';&&&&&&&&&&&&&&&&&&& //秒,延迟时间
//$cc_log = 'cc_log.txt';&&&&&&&&&&&&&&& //启用本行为记录日志
$cc_forward = 'http://localhost';&&& //释放到URL
//--------------------------------------------
$cc_uri = $_SERVER['REQUEST_URI']?$_SERVER['REQUEST_URI']:($_SERVER['PHP_SELF']?$_SERVER['PHP_SELF']:$_SERVER['SCRIPT_NAME']);
$site_url = 'http://'.$_SERVER ['HTTP_HOST'].$cc_
//启用session
if( !isset( $_SESSION ) ) session_start();
$_SESSION[&visiter&] =
if ($_SESSION[&visiter&] && true){
&echo &&script&setTimeout(&window.location.href ='$cc_forward';&, 1);&/script&&;
&//header(&Location: &.$cc_forward);
$timestamp = time();
$cc_nowtime = $
if (session_is_registered('cc_lasttime')){
&$cc_lasttime = $_SESSION['cc_lasttime'];
&$cc_times = $_SESSION['cc_times'] + 1;
&$_SESSION['cc_times'] = $cc_
&$cc_lasttime = $cc_
&$cc_times = 1;
&$_SESSION['cc_times'] = $cc_
&$_SESSION['cc_lasttime'] = $cc_
//获取真实IP
if (isset($_SERVER)){
&$real_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
&$real_ip = getenv(&HTTP_X_FORWARDED_FOR&);
//print_r($_SESSION);
if (($cc_nowtime - $cc_lasttime)&=0){
&if ($cc_times&=$cc_min_nums){&&&&&&&
&if(!empty($cc_log))&&& cc_log(get_ip(), $real_ip, $cc_log, $cc_uri);&&& //产生log
&echo &Wait please, try again later!&script&setTimeout(&window.location.href ='$site_url';&, 5000);&/script&&;
&//printf('您的刷新过快,请稍后。');
&//header(&Location: &.$cc_forward);
&$cc_times = 0;
&$_SESSION['cc_lasttime'] = $cc_
&$_SESSION['cc_times'] = $cc_
//记录cc日志
function cc_log($client_ip, $real_ip, $cc_log, $cc_uri){&&&
&$temp_time = date(&Y-m-d H:i:s&, time() + 3600*8);
&$temp_result = &[&.$temp_time.&] [client &.$client_ip.&] &;&&&
&if($real_ip) $temp_result .= & [real &.$real_ip.&] &;
&$temp_result .= $cc_uri . &rn&;
&$handle =
(&$cc_log&, &rb&);
&$oldcontent = fread($handle,filesize(&$cc_log&));
&fclose($handle);
&$newcontent = $temp_result . $
&$fhandle=fopen(&$cc_log&, &wb&);
&fwrite($fhandle,$newcontent,strlen($newcontent));
&fclose($fhandle);
//获取在线IP
function get_ip() {
&global $_C;
&if(empty($_C['client_ip'])) {
&if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
&$client_ip = getenv('HTTP_CLIENT_IP');
&} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
&$client_ip = getenv('HTTP_X_FORWARDED_FOR');
&} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
&$client_ip = getenv('REMOTE_ADDR');
&} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
&$client_ip = $_SERVER['REMOTE_ADDR'];
&$_C['client_ip'] = $client_ip ? $client_ip : 'unknown';
&return $_C['client_ip'];
这样就可以基础工业防止了,但是如果更高级占的就没办法,大家可尝试使用相关硬件防火强来设置。
上一页: &&&&&下一页:相关内容您所在的位置: &
使用Nginx防御CC攻击
使用Nginx防御CC攻击
本文主要介绍了有关使用Nginx防御CC攻击的一些配置。CC攻击针对的是服务器上面的内存和CPU资源,因此通常会找到一些比较高消耗的接口,例如search.php之类的需要大量sql查询的接口。因此,明白了这一点,我们就很好防御了,主要是针对单个ip地址的连接数和请求php文件的密度来控制的。
本文主要介绍了有关使用Nginx防御CC攻击的一些配置。CC攻击针对的是服务器上面的内存和CPU资源,因此通常会找到一些比较高消耗的接口,例如search.php之类的需要大量sql查询的接口。因此,明白了这一点,我们就很好防御了,主要是针对单个ip地址的连接数和请求php文件的密度来控制的。
我们主要用到的是Nginx中提供的两个limit模块:
ngx_http_limit_conn_module &ngx_http_limit_req_module&
一、白名单
首先这两个模块是支持白名单的,就是可能有某些IP地址,我们是不需要进行限制的,比如可能会是搜索引擎啦什么的或者自己的IP,因此需要设置一个白名单,不需要的可跳过本步。具体方法:
在HTTP段中插入如下格式内容,声明白名单IP
http{&& &.......&& &geo&$limited{&& &&&&&&&default&1;&& &&&&&&&#公司&& &&&&&&119.123.5.0/24&0;& &&&}&& &.........&& &}& &
geo指令定义了一个白名单$limited变量,默认值为1,如果客户端IP在上面的范围内,$limited的值为0。
然后紧跟在上面内容后使用map指令映射搜索引擎客户端的ip为空串,如果不是白名单IP就显示本身真实的IP,这样搜索引擎iIP就不能存到limit模块的内存session中,所以不会限制白名单的IP访问。
map&$limited&$limit&{&& &&&&&&&&&&&&&&&&&&&1&$binary_remote_& &&&&&&&&&&&&&&&&&&&0&&&;&& &&&&&&&&&}&&
二、访问频率限制
访问频率限制使用到的是ngx_http_limit_req_module,需要在两个地方配置,首先在HTTP段中,声明好这个模块一些参数,如果有设置白名单,设置如下
http{&& &...&& &limit_req_zone&$limit&zone=one:10m&rate=20r/m;&##平均20r/m&每分钟20个请求&& &...&& &}& &
如果没有配置白名单,所有来访IP都会限制,配置如下
http{&& &...&& &limit_req_zone&$binary_remote_addr&zone=one:10m&rate=20r/m;&##平均20r/m&每分钟20个请求 &...& &}& &
解释一下上面的参数,第一个代表的是需要限制的ip群,这个很好理解,第二个zone=one表示这个limit_zone的名字叫做one,后面的使用中可以用这个one来进行指代,后面的15m,代表为这个zone分配10m的内存,1m可以保存16000的$binary_remote_addr。最后一个是频率,如果要按秒来算可以设置20r/s这样。
最后是配置到Nginx的php的解析段
location&~&\.php$&{&& &...&& &limit_req&zone=one&burst=5&& &...&& &}& &
指定了使用名字为one的zone,然后缓冲队列为5,无延迟,如果不设置无延迟,访问会卡住。
三、访问连接限制
访问连接限制使用到的是ngx_http_limit_conn_module,也是需要在两个地方配置,首先在HTTP段中,声明好这个模块一些参数,如果有设置白名单,设置如下
http{& &...&& &limit_conn_zone&$limit&zone=addr:10m;&& &...&& &}& &
如果没有配置白名单,所有来访IP都会限制,配置如下
view&sourceprint?http{&& &...&& &limit_conn_zone&$binary_remote_addr&zone=addr:10m;& &...&& &}& &
参数的意思跟上面的差不多也就不多解释了。
后面的就是在server段中进行设置了,可以具体到某个目录什么的了
server&{&& &&&&&location&/download/&{& &&&&&&&&&limit_conn&addr&5;&& &&&&&}&&
大功告成,打完收工,记得要nginx -s reload一下哦~【编辑推荐】【责任编辑: TEL:(010)】
关于&&的更多文章
Nginx是由俄罗斯软件工程师Igor Sysoev开发的一个高性能的HTTP和
随着云计算、物联网、大数据、移动互联网的大发展,你应该知道这些。
下一代防火墙”(缩写NGFW)一般是指带有入侵检测等超
“Cookies”也被称为HTTP cookies、网络cookies或浏览
创新的思科安全数据中心解决方案是唯一能够保护整个数
本书对第1版的某些章节作了合理的调整,增加了部分实用的程序,并在每一章的最后加了适量的练习题,以巩固前面所学的知识,更加有利
51CTO旗下网站莒州网莒县论坛-我们共同的心灵家园-百姓生活-信息广告 - Powered by Discuz!
后使用快捷导航没有帐号?
扫一扫,访问微社区
查看: 50|回复: 2
什么是CC攻击要怎么防御呢
主题帖子积分
新手上路, 积分 6, 距离下一级还需 94 积分
新手上路, 积分 6, 距离下一级还需 94 积分
如果运营商的游戏或者说网站,受到不同类型的CC攻击自然会有不同的症状表现,通过对应的症状,就能大致分辨出攻击的方式,从而对症下药防御CC攻击。
  症状一:服务器能够正常连接,但是网站或游戏打不开
  服务器能正常连接到首先排除了被大流量CC攻击的可能性,这个时候可以查看下服务器的任务管理器,查看服务器的CPU占用或网络带宽占用:
  如果是w3wp.exe进程大量占用CPU,就可以立即确定是被CC攻击了,这个w3wp.exe是IIS的进程,如果网站是ASP/PHP等动态网站,被CC攻击的时候,就会导致w3wp.exe进程大量占用CPU,达到服务器CPU处理的极限,网站自然就打不开了。
  如果是静态网站,w3wp.exe并不会占用大量的CPU,这个时候可以查看服务器的网络带宽占用,因为静态网站不需要经过处理就可以直接返回给访客,所以不会占用多少的CPU。当然,被CC攻击的时候,需要大量返回静态页面,这个时候就会大量占用服务器的上行带宽,被大量CC攻击的时候,上行带宽可占用达到99-100%。
  如果服务出现以上两种症状的其中一种,可以试着把服务器的IIS先停止,如果CPU或网络带宽占用马上减低,启动IIS后,又马上飙高,就可以确诊为被CC攻击了。
  如果是被CC攻击,只需要安装《暴驰CC防火墙》就可以完美防御了。
  症状二:服务器连接不到,网站也打不开
  如果在平时,网站和服务器都很正常,突然出现网站访问不了,服务器连接不到,可以询问机房原因,如果被大流量攻击,机房一般会屏蔽服务器的IP一段时间,一般询问机房,机房都会告知具体情况,条件允许的话也可以找机房索要被攻击时的流量截图,以便清楚网站是被多大的流量攻击。
暴驰CC防火墙是一款软件防御类型的高性能防火墙,也是棋牌游戏行业内目前唯一专用的防火墙,我们在棋牌游戏防火墙研发上已经有了10年历史,期间经历了数次的更新换代,每一次的更新换代我们都加强了安全性能、稳定性能、高效性能当前最新的专用版本3.4.0.13版。本产品在防CC攻击方面一直具有独到的技术,拥有最接近系统核心底层的设计,百分百不会出现误封漏封的情况,我们一直以安全、稳定、高效三个方面作为我们开发防火墙的核心理念。
福建暴驰网络科技有限公司,技术总监QQ5069099
VC++15年 经验,品质保证,价格不低,5万/月
详情请查看本网页t.cn/RV4UrI2
主题帖子积分
新手上路, 积分 6, 距离下一级还需 94 积分
新手上路, 积分 6, 距离下一级还需 94 积分
CC防火墙还是软防好啊
主题帖子积分
新手上路, 积分 2, 距离下一级还需 98 积分
新手上路, 积分 2, 距离下一级还需 98 积分
CC攻击的症状这么多。认识很多啊
Powered by}

我要回帖

更多关于 cc攻击防御 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信