zoukankan      html  css  js  c++  java
  • php防CC攻击代码

         特别是用虚拟主机的用户,如果CPU超载将会出现“service unariable”的提示。关于超载的因素有很多,比如网页结构不合理,流量过大等。其中还有一个可能会出现的恶意因素,就是CC攻击。

      所谓的CC攻击就是对方利用程序或一些代理对您的网站进行不间断的访问,造成您的网站处理不了而处于当机状态。这种时候您的统计系统(可能是量子、百度等)当然也是统计不到的。不过我们可以借助于一些防攻击的软件来实现,不过效果有时并不明显。下面我提供一段PHP的代码,可以起到一定的防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; 
    }  
     
        3表示时间间隔,5表示刷新次数

        以上代码可以放在每个PHP文件的包含文件中,这样每页均可起到防CC的效果。里面的参数也可以根据您自己的情况进行一些相应的设置。

  • 相关阅读:
    分布式系统学习笔记(2)-大型网站架构
    分布式系统学习笔记(1)-基础知识
    sql left join and right join
    java并发基础-Synchronized
    java内存模型
    JavaEE杂项--spring的异常体系
    javaEE杂项 --下载文件乱码的不同解决方案
    JavaEE杂项- spring AOP的几种实现方式(表面)
    字符编码:unicode,ascii,utf-8.
    Android SDK Manager国内无法更新的解决方案
  • 原文地址:https://www.cnblogs.com/buffer/p/1984333.html
Copyright © 2011-2022 走看看