RSS订阅Good Luck To You!
你现在的位置:网站首页 / PHP / 正文内容

PHP防CC拦截代码

12790 PHP | 2020年06月05日
<?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 = '<title>安全检查</title><h3>检测到CC攻击,正在进行浏览器安全检查!</h3>';
        exit($msg . "<meta http-equiv='refresh' content='3;url={$url}'>"); //3是定时跳转的时间,后期可以根据时间段调整跳转时间
    }
}else{
    $_SESSION['refresh_times'] = 0;
    $_SESSION['last_time'] = $cur_time;
}


上一篇:thinkphp5.0 空模块、空控制器、空方法

下一篇:PHP源码加密方法

猜你喜欢