PHP防CC攻击代码

  1. <?php  
  2.   
  3. //代理IP直接退出  
  4.   
  5. emptyempty($_SERVER['HTTP_VIA']) or exit('Access Denied');  
  6.   
  7. //防止快速刷新  
  8.   
  9. session_start();  
  10.   
  11. $seconds = '3'; //时间段[秒]  
  12.   
  13. $refresh = '5'; //刷新次数  
  14.   
  15. //设置监控变量  
  16.   
  17. $cur_time = time();  
  18.   
  19. if(isset($_SESSION['last_time'])){  
  20.   
  21. $_SESSION['refresh_times'] += 1;  
  22.   
  23. }else{  
  24.   
  25. $_SESSION['refresh_times'] = 1;  
  26.   
  27. $_SESSION['last_time'] = $cur_time;  
  28.   
  29. }  
  30.   
  31. //处理监控结果  
  32.   
  33. if($cur_time - $_SESSION['last_time'] < $seconds){  
  34.   
  35. if($_SESSION['refresh_times'] >= $refresh){  
  36.   
  37. //跳转至攻击者服务器地址  
  38.   
  39. header(sprintf('Location:%s', 'http://127.0.0.1'));  
  40.   
  41. exit('Access Denied');  
  42.   
  43. }  
  44.   
  45. }else{  
  46.   
  47. $_SESSION['refresh_times'] = 0;  
  48.   
  49. $_SESSION['last_time'] = $cur_time;  
  50.   
  51. }  
  52.   
  53. ?>  
赞 (0)

评论 0