阿里云短信验证码

血红的双手。 提交于 2019-12-25 14:16:21

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

第二步:找到对应的接口文档和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);
    }:初来乍到,还请多多关照。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!