emlog防CC代码

  • 内容
  • 相关

教程来源与网络,至于有没有用,小编也表示不清楚,本站为收藏,万一你正好需要呢下面的代码(将下面代码插入在module.php文件内,代码二跟文章的代码也一样):


代码一

<?phpfunction sheli_cc(){       session_start();$timestampcc = time();$cc_nowtime = $timestampcc;if(isset($_SESSION['cc_lasttime'])){$cc_lasttime = $_SESSION['cc_lasttime'];$cc_times = $_SESSION['cc_times']+1;$_SESSION['cc_times'] = $cc_times;}else{$cc_lasttime = $cc_nowtime;$cc_times = 1;$_SESSION['cc_times'] = $cc_times;$_SESSION['cc_lasttime'] = $cc_lasttime;} if(($cc_nowtime-$cc_lasttime)<60){if($cc_times>=3){header(sprintf('Location:%s', 'http://127.0.0.1'));exit;}//60秒内刷新3次以上可能为cc攻击}else{$cc_times = 0;$_SESSION['cc_lasttime'] = $cc_nowtime;$_SESSION['cc_times'] = $cc_times;}}?>
代码二
<?phpfunction sheli_cc(){        //代理IP直接退出        empty($_SERVER['HTTP_VIA']) or exit('Access Denied');        //防止快速刷新        session_start();        $seconds = '60'; //时间段[秒]        $refresh = '3'; //刷新次数        //设置监控变量        $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){                        //跳转至攻击者服务器地址                        header(sprintf('Location:%s', 'http://127.0.0.1'));                        exit('Access Denied');                }        }else{                $_SESSION['refresh_times'] = 0;                $_SESSION['last_time'] = $cur_time;        }}?>
然后在head.php文件的require_once View::getView('module');后面插入echo sheli_cc();



本文标签:

版权声明:若无特殊注明,本文皆为《略知》原创,转载请保留文章出处。

本文链接:emlog防CC代码 - http://if2.cc/post-162.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论

1条评论
  1. avatar

    111 Lv.1 Chrome 53.0.2785.104 Chrome 53.0.2785.104 Windows 7 x64 Edition Windows 7 x64 Edition 回复

    ....

    广东省河源市 电信

    00:00 / 00:00
    顺序播放