网站天天被扫描,我是这么整的,大家看看有没有更好的办法


网站被扫描的情况已经是见惯不怪了,但就是看着心烦,又有时候担心被“帮忙测试”的过程中可能被成功种马了t_0024.gif

总之就是一个字——烦!


然后就试着想办法,由于基本上被扫的有用路径都跟HomeBaseContoller,于是就从这里开始着手,冲着这些ip好烦的每秒2-3次的访问,于是对频繁访问的ip进行统计处理。


1、先建立个只保留24小时ip的表,用于统计频率;

2、再建个ip黑名单的表,用于把恶意ip揪出来;

3、在HomeBaseController的initialize()里加入处理的代码,代码如下:

protected function initialize()
    {
        // 监听home_init
        hook('home_init');
        parent::initialize();

        /**治理烦人ip**/
        $ip = get_client_ip();
        if($ip!="127.0.0.1"){//这里是自己用的高频ip,如无去掉这个条件
            $data = [
                "ip"    =>  $ip,
                "come_time" =>  time()
                ];
            Db::name("daily_ip")->insert($data);//先记录下来访ip
            $is_black = db::name("blacklist_ip")->where(["ip"=>$ip])->where("out_time","<",time())->count();//查下是不是黑户
            if($is_black>0)//黑户在册,“出门右转”
            {
                header('HTTP/1.1 301 Moved Permanently');
                header("Location: https://www.qq.com");
                exit;
            }else{//未在黑名单的,查下流水
                $ip_count_min = Db::name("daily_ip")->where(["ip"=>$ip])->where("come_time",">",time()-60)->count();
                if($ip_count_min>90)//90就按自己的情况定了,为了避免误删正常访客,超过90次每分钟直接拉黑踢出去
                {
                    db::name("blacklist_ip")->data(["ip"=>$ip,"out_time"=>time()+7200])->insert();//搞事的罚站2小时
                    header('HTTP/1.1 301 Moved Permanently');
                    header("Location: https://www.qq.com");
                    exit;
                }
            }
            Db::name("daily_ip")->where("come_time","<",time()-86400)->delete();//顺带清理下24小时外的ip记录,节省点硬盘
            Db::name("blacklist_ip")->where("come_time","<",time())->delete();//顺带释放惩罚完的ip
        }
        

    }





评论

暂时关闭,稍后恢复~
文档请看10遍以上!有问题可加QQ群!
发表话题

源素材推荐

提问必知

0.话题发布后没及时显示,请联系官方QQ群管理;
1.话题支持代码,qq截屏直接粘贴,和QQ群一样;
2.问题描述清,比如服务器版本,程序版本;
3.能上代码,就不用文字;
4.把问题发到话题后再发QQ群;
5.如果感觉回复者解答的不错,可以发红包!
6.多帮助别人也是对自己的锻炼!
7.付费讨论中只有提问者和付费用户才可以查看回复

积分规则

1.评论积分+1;每天最多10次奖励
2.发布话题积分+1;每天最多5次奖励
3.垃圾评论积分-500;
4.黄色,暴力,违反我国法律评论直接封号


ThinkCMF 8.0.0发布啦!祝大家节日快乐! 立即体验!