很多站长在做站的时候会碰到被人cc攻击,有时候真是苦不堪言呐!
其实本人结合多年的做站经验对于攻防还是有一定的见解的,对于防御我想说的是:只要服务器真实ip不暴露,服务器域名直接访问做禁止处理,域名加上cdn可以很大程度上起到防御作用,国内已备案的域名可以使用百度云加速,免费又好用。不过有点鸡肋的是移动的线路总是会出问题。
好了,废话不多说。其实使用php代码也可以进行一定的cc防御的。以下就是用于防御cc攻击的php代码。
empty($_SERVER['HTTP_VIA']) or exit('Access Denied'); session_start(); $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 = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $msg = '安全检查 检测到CC攻击,正在进行浏览器安全检查!
'; exit($msg . "
{
$url
}
"> " ); //3是定时跳转的时间,后期可以根据时间段调整跳转时间 } }else{
$_SESSION['refresh_times'] = 0; $_SESSION['last_time'] = $cur_time; }
以上代码插入index.php文件里面即可,实测有效。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217197.html原文链接:https://javaforall.net
