织梦短信验证码功能怎么实现-DEDECMS

资源魔 60 0

织梦短信验证码性能怎样完成?

如今年夜局部网站都需求用短信验证码,由于织梦民间不短信验证码插件,以是写了几个短信验证码插件,一个应用的是阿里云的短信验证码接口,一个应用的是阿里年夜于的短信验证码接口,一个应用的是阿里通讯短信验证码接口,另一个应用的是云之讯的短信接口。

保举学习:织梦cms

上面的教程蕴含2个织梦短信验证码接口。

织梦会员短信注册需求修正之处:

一、需求创立一个表来对验证码进行记载,避免屡次发送,这里创立了一个phonecode表。

二、member/templets/reg-new.htm (注册模版增加元素)

三、member/templets/js/reg_new.js (验证手机号)

四、member/index_do.php (依据后盾设置,判别能否发送注册验证码)

五、member/reg_new.php (验证、记载)

a.应用阿里云短信接口接入:

需求正在member/index_do.php对应的地位拔出阿里云短信接口代码。特地需求留意的是,阿里云短信民间demo文档是年夜神写的,以是一般人用起来会应命名空间谬误,这个需求本人留意。另外需求更新下短息模板,如今阿里短信模板审核十分严格,没有容许有其余变量,以前并无这个成绩。以是,审核不外的时分,需求缩小变量。(今朝曾经无奈守旧阿里云短信接口,新守旧的是阿里通讯接口,不克不及应用这段代码,只适宜很久以前就守旧过阿里云短信的人)

function getrandchar($length){
    $str = null;
    $strPol = "0123456789abcdefghijklmnopqrstuvwxyz";
    $max = strlen($strPol)-1;
        for($i=0;$i<$length;$i++){
        $str.=$strPol[rand(0,$max)];
        }
        return $str;
    }
    $code = getrandchar(5);
  
    require_once(DEDEINC.'/aliyun-php-sdk-core/Config.php');
    use Sms\Request\V20160927 as Sms;
    $iClientProfile = DefaultProfile::getProfile("cn-shenzhen", "your accessKey", "your accessSecret"); //登录阿里云查看: "your accessKey", "your accessSecret"
    $client = new DefaultAcsClient($iClientProfile);   
    $request = new Sms\SingleSendSmsRequest();
    $request->setSignName("署名");/*署名称号*/
    $request->setTemplateCode("SMS_1111");/*模板code*/
    $request->setRecNum($phone);/*指标手机号*/
    $request->setParamString("{\"code\":\"$code\",\"tel\":\"德律风号码\"}");/*模板变量,请确保跟审核过的短信模版变量分歧,数字肯定要转换为字符串*/
    try {
        $response = $client->getAcsResponse($request);
        print_r($response);
    }
    catch (ClientException  $e) {
        print_r($e->getErrorCode());  
        print_r($e->getErrorMessage());  
    }
    catch (ServerException  $e) {  
        print_r($e->getErrorCode());  
        print_r($e->getErrorMessage());
    }
      
    $inquery = " INSERT INTO `dede_phonecode` (`ip`,`phone`,`phonecode`,`used`,`sendtime`) VALUES ( '$ip','$to','$code','1','$nowtime'); ";
    $rs = $dsql->ExecuteNoneQuery2($inquery);
    if( $rs = 1 ){
        ShowMsg('发送胜利,请留意查收!','-1');
        exit();
    }
    exit();

标签: 织梦教程 织梦技巧 dedecms教程 dede问题解决 织梦

抱歉,评论功能暂时关闭!