PHP防CC攻击的实现代码是“if (session_is_registered('ll_lasttime')){$ll_lasttime = $_SESSION['ll_lasttime'];$ll_times =...}”。
本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑
所谓的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)<3){ if ($ll_times>=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; }
以下是网友的回复:
SESSION 是依靠 COOKIE 的,如果屏蔽掉COOKIE怎么办?
TCP/IP -> apache -> PHP 这个过程已经消耗了很多东西,到这步只是没有更多的计算操作和MysqL连接
就凭这几行代码,不能解决问题的。顶多对那些在浏览器里面按F5刷页面的操作关用。
所以推荐大家服务器安装防cc攻击的防火墙效果才会比较好。
推荐学习:《PHP教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。