阿里云短信验证码

第一步:申请一个短信验证码接口,这里是在阿里云上申请的

第二步:找到对应的接口文档和demo包

第三步:将demo包里边需要的数据一一进行配置 ps:为了保证数据的安全和修改的方便性 这里 建议把一些关键性的敏感数据放入配置文件

例如下面的选项 可以写入配置文件

MOBILE_HOST=https://cdcxdxjk.market.alicloudapi.com
MOBILE_PATH=/chuangxin/dxjk
MOBILE_APPCODE=7ed97265c184431e9199a4439be1c8e3
知识兔

写一个生成随机验证码的方法

/*
     * @content 生成随机验证码
     * @params $len  int   需要生成验证码的长度
     * @return  $code  string  生成的验证码
     * */
    
    public static function createcode($len)
    {
        $code = '';
        for($i=1;$i<=$len;$i++){
            $code .=mt_rand(0,9);
        }

        return $code;
    }
知识兔

随机验证要记得存储起来

然后调用短信接口 发送

/*
     * @content 发送手机验证码
     * @params  $mobile  要发送的手机号
     * 
     * */
    private function sendMobile($mobile)
    {
        $host = env("MOBILE_HOST");
        $path = env("MOBILE_PATH");
        $method = "POST";
        $appcode = env("MOBILE_APPCODE");
        $headers = array();
        $code = Common::createcode(4);
        session(['mobilecode'=>$code]);
        array_push($headers, "Authorization:APPCODE " . $appcode);
        $querys = "content=【创信】你的验证码是:".$code.",3分钟内有效!&mobile=".$mobile;
        $bodys = "";
        $url = $host . $path . "?" . $querys;

        $curl = curl_init();
        curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_FAILONERROR, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HEADER, true);
        if (1 == strpos("$".$host, "https://"))
        {
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        }
        return curl_exec($curl);
    }


:初来乍到,还请多多关照。
知识兔
计算机