• 红豆生南国,春来发几枝。  

PHP防CC攻击代码(拦截率60%)

简要介绍


代码效果还是可以的,主要是防止数据库刷爆的,限制数据库连接的次数,要想更好的防护还是要在硬件防火墙,安全软件策略,系统配置方面着手。
 
代码如下

 
<?php
empty($_SERVER['HTTP_VIA']) or exit('Access Denied');
$seconds = 10; //时间段[秒]
$refresh = 5; //刷新次数
//设置监控变量
$cur_time = time();
if(isset($_SESSION['last_time'])){
$_SESSION['refresh_times'] += 1;
}else{
$_SESSION['refresh_times'] = 1;
$_SESSION['last_time'] = $cur_time;
}
//处理监控结果
if($cur_time - $_SESSION['last_time'] < $seconds){
if($_SESSION['refresh_times'] >= $refresh){
//跳转验证
$url='https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$msg=mb_convert_encoding("<title>安全检查</title><h3>检测到CC攻击,正在进行浏览器安全检查!</h3>","UTF-8","GBK");
exit($msg."<meta https-equiv='refresh' content='5;url={$url}'>");//5是定时跳转的时间,后期可以根据时间段调整跳转时间
}
}else{
$_SESSION['refresh_times'] = 0;
$_SESSION['last_time'] = $cur_time;
}
?>

本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

侵权删帖/违法举报/商务合作/投稿等事物联系邮箱:hongdouyl@qq.com 或 QQ821274829

豫ICP备19002192号