写了个TP5下PHP和手机端通信的API接口校验

写了个PHP和手机端通信的API接口校验

直接发函数吧

public function _initialize()
    {
        //定义密码和盐
        $password="123456";
        $salt="654321";
        
        $request=request();
        //数据获取
        $request_password=$request->param('password');
        $request_access_token=$request->param('access_token');
        
        $data=array();

        //为空的校验
        if(empty($request_password) && empty($request_access_token)) {
            $data['code']=4001;
            $data['message']='请输入参数';
        }
        
        //先用token进行判断,成功可继续不返回
        if(!empty($request_access_token)) {
            $access_token=crypt($password,$salt);
            if($request_access_token!=$access_token) {
                $data['code']=4002;
                $data['message']='access token验证失败,请使用密码重新请求';
            }
        } else {
            //然后用密码进行判断,成功返回
            if(!empty($request_password)) {
                if($password!=$request_password) {
                    $data['code']=4003;
                    $data['message']='密码验证失败,请使用正确的密码重新请求';
                } else {
                    $access_token=crypt($password,$salt);
                    $data['code']=1;
                    $data['message']='密码验证成功,返回access token';
                    $data['data']=$access_token;
                }
            }
        }
        
        //如果有数据,那么才返回
        if(!empty($data)) {
            Response::create($data, 'jsonp')->send();
            
            //如果是密码验证成功,那么返回结束
            if($data['code']==1) {
                exit;
            }
        }
       
    }

发起请求2次

第一次请求 使用密码进行请求

第二次 根据使用密码的请求 进行校验

去执行其他的方法

原文地址:https://www.cnblogs.com/baker95935/p/9512090.html