找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 579|回复: 0
打印 上一主题 下一主题

php防CC攻击代码

[复制链接]

2588

主题

2588

帖子

7694

积分

论坛元老

Rank: 8Rank: 8

积分
7694
跳转到指定楼层
楼主
发表于 2018-2-18 04:49:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                    特别是用虚拟主机的用户,如果CPU超载将会出现“service unariable”的提示。关于超载的因素有很多,比如网页结构不合理,流量过大等。其中还有一个可能会出现的恶意因素,就是CC攻击。
  所谓的CC攻击就是对方利用程序或一些代理对您的网站进行不间断的访问,造成您的网站处理不了而处于当机状态。这种时候您的统计系统(可能是量子、百度等)当然也是统计不到的。不过我们可以借助于一些防攻击的软件来实现,不过效果有时并不明显。下面我提供一段PHP的代码,可以起到一定的防CC效果。
  主要功能:在3秒内连续刷新页面5次以上将指向本机 http://127.0.0.1
  代码如下:
$P_S_T  = $t_array[0] + $t_array[1];  
$timestamp = time();
session_start();  
$ll_nowtime = $timestamp ;  
if (session_is_registered('ll_lasttime')){  
$ll_lasttime = $_SESSION['ll_lasttime'];  
$ll_times = $_SESSION['ll_times'] + 1;  
$_SESSION['ll_times'] = $ll_times;  
}else{  
$ll_lasttime = $ll_nowtime;  
$ll_times = 1;  
$_SESSION['ll_times'] = $ll_times;  
$_SESSION['ll_lasttime'] = $ll_lasttime;  
}  
if (($ll_nowtime - $ll_lasttime)=5){  
  header(sprintf("Location: %s",'http://127.0.0.1'));  
  exit;  
}  
}else{  
  $ll_times = 0;  
$_SESSION['ll_lasttime'] = $ll_nowtime;  
$_SESSION['ll_times'] = $ll_times;  
}   
    3表示时间间隔,5表示刷新次数
    以上代码可以放在每个PHP文件的包含文件中,这样每页均可起到防CC的效果。里面的参数也可以根据您自己的情况进行一些相应的设置。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端