PHP 简易防CC代码,采用301跳转方式,降低CC攻击的效果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <?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='http://'.$\_SERVER\['HTTP\_HOST'\].$\_SERVER\['REQUEST\_URI'\]; $msg=mb\_convert\_encoding("<title>安全检查</title><h3>检测到CC攻击,正在进行浏览器安全检查!</h3>","UTF-8","GBK"); exit($msg."<meta http-equiv='refresh' content='5;url={$url}'>");//5是定时跳转的时间,后期可以根据时间段调整跳转时间 } }else{ $\_SESSION\['refresh\_times'\] = 0; $\_SESSION\['last\_time'\] = $cur\_time; } ?>
|