php通过cookie操控验证码显示隐藏

发布时间:2023-05-29作者:冰貂主人点击:51

protected $ProisShowAuthCode;
public function index(){   
        // 是否显示验证码,默认不显示
        $this->ProisShowAuthCode=2;
        if(cookie('loginNum')>=3){
            $this->ProisShowAuthCode=1;
        }
        $this->assign(['isShowAuthCode'=>$this->ProisShowAuthCode]);
        return view();

    }
    
    public function dolog(){   
        $captcha=input('vdcode');
     
        // 判断是否使用验证
        if(cookie('loginNum')>=3){
            if(!captcha_check($captcha)){
                 //验证失败
                return json(['code'=>1001,'msg'=>'验证码错误!','data'=>'']);
            };
        }
        $dedemem=Db::name('member')->where('id',$param['userid'])->find();
        // 使用cookie记录登录的失败次数           
        if(cookie('loginNum')!=null){
            $nul=cookie('loginNum');
            cookie('loginNum',$nul=1+$nul);
        }else{
            cookie('loginNum',1);
        }
        if($dedemem){     
            // 登录后把cookie删除
            cookie('loginNum',null);
            return json(['code'=>$code,'msg'=>"正在登录,到期时间:".date("Y-m-d H:i:s",$wsdata['time']),'data'=>'']);
        }else{            
            if(cookie('loginNum')>=3){
                $this->ProisShowAuthCode=1;
                return json(['code'=>1002,'msg'=>'您连续登录失败大于3次显示验证码','data'=>'']);               
            }       
            return json(['code'=>$code,'msg'=>$msg,'data'=>'']);
        }       
    }
    

标签: