提供Discuz ,ECShop ,PHPCMS ,帝国CMS ,CSS教程 ,PHP教程 ,DedeCMS ,WordPress ,HTML教程等cms问题查询.
当前位置: DedeCMS > 织梦短信验证码功用怎样完成【DedeCMS】,织梦

织梦短信考证码功用怎样完成?

如今大部分网站都须要用短信考证码,由于织梦官方没有短信考证码插件,所以写了几个短信考证码插件,一个运用的是阿里云的短信考证码接口,一个运用的是阿里大于的短信考证码接口,一个运用的是阿里通讯短信考证码接口,别的一个运用的是云之讯的短信接口。

引荐进修:织梦cms

下面的教程包括2个织梦短信考证码接口。

织梦会员短信注册须要修正的处所:

1、须要建立一个表来对考证码举行纪录,防备屡次发送,这里建立了一个phonecode表。

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

3、member/templets/js/reg_new.js (考证手机号)

4、member/index_do.php (依据背景设置,推断是不是发送注册考证码)

5、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();

附上阿里云短信模版:考证码:${code}。您正在注册,如非您本人操纵,请疏忽此条短信。若有疑问请与我们联络! 电话:${tel}

b.运用阿里大鱼的短信接口接入:

一样的须要在member/index_do.php对应的位置插进去以下代码。

function getrandchar($length){
$str = null;
//$strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
$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.'/alidayu-php-sdk/TopSdk.php');
$client = new TopClient;
$client ->appkey = '111111' ; //登录阿里大于检察appkey。
$client ->secretKey = 'aaaaaaaaaaaaaa' ; //登录阿里大于检察secret。
$req = new AlibabaAliqinFcSmsNumSendRequest;
$req ->setExtend( "" );
$req ->setSmsType( "normal" );
$req ->setSmsFreeSignName( "城子居" ); /*署名称号*/
$req ->setSmsParam( "{\"code\":\"$code\",\"name\":\"注册\"}" ); /*模板变量,请确保跟考核过的短信模版变量一致,数字一定要转换为字符串*/
$req ->setRecNum($phone);/*目的手机号*/
$req ->setSmsTemplateCode( "SMS_1111111" );//登录阿里大于检察/*模板ID编号*/
$resp = $client ->execute( $req );
  
$inquery = " INSERT INTO `imm_phonecode` (`ip`,`phone`,`phonecode`,`used`,`sendtime`)  VALUES ( '$ip','$to','$code','1','$nowtime'); ";
$rs = $dsql->ExecuteNoneQuery2($inquery);
if( $rs = 1 ){
ShowMsg('发送胜利,请注重查收!','-1');
exit();
}
exit();

c.运用最新的阿里通讯短信接口接入:

function getrandchar($length){
$str = null;
//$strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
$strPol = "0123456789";
$max = strlen($strPol)-1;
for($i=0;$i<$length;$i++){
$str.=$strPol[rand(0,$max)];
}
return $str;
}
$number = getrandchar(4);
  
require_once(DEDEINC.'/aliyun-php-sdk-core/Config.php');
require_once(DEDEINC.'/Dysmsapi/Request/V20170525/SendSmsRequest.php');
require_once(DEDEINC.'/Dysmsapi/Request/V20170525/QuerySendDetailsRequest.php');
  
function sendSms() {
global $phone, $number;
  
//此处须要替代成本身的AK信息
$accessKeyId = "yourAccessKeyId";
$accessKeySecret = "yourAccessKeySecret";
//短信API产物名
$product = "Dysmsapi";
//短信API产物域名
$domain = "dysmsapi.aliyuncs.com";
//临时不支持多Region
$region = "cn-beijing";
  
//初始化接见的acsCleint
$profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
DefaultProfile::addEndpoint("cn-beijing", "cn-beijing", $product, $domain);
$acsClient= new DefaultAcsClient($profile);
  
$request = new Dysmsapi\Request\V20170525\SendSmsRequest;
//必填-短信吸收号码
$request->setPhoneNumbers($phone);
//必填-短信署名
$request->setSignName("99商店网");
//必填-短信模板Code
$request->setTemplateCode("SMS_74725029");
//选填-如果模板中存在变量须要替代则为必填(JSON花样)
$request->setTemplateParam("{\"number\":\"$number\"}");
//选填-发送短信流水号
$request->setOutId("1234");
  
//提议接见要求
$acsResponse = $acsClient->getAcsResponse($request);
}
  
sendSms();
  
$inquery = " INSERT INTO `imm_phonecode` (`ip`,`phone`,`phonecode`,`used`,`sendtime`)  VALUES ( '$ip','$phone','$number','1','$nowtime'); ";
$rs = $dsql->ExecuteNoneQuery2($inquery);
if( $rs = 1 ){
echo "发送胜利,请注重查收!";
exit();
}
exit();

到这里阿里系的3个短信接口就全都在这里了,对应的SDK须要在阿里云官方查找下载。

d.运用云之讯短信接口接入:

一样的须要在member/index_do.php对应的位置插进去云之讯短信接口代码。

function getrandchar($length){
$str = null;
$strPol = "0123456789abcdefghijklmnopqrstuvwxyz";
$max = strlen($strPol)-1;
for($i=0;$i<$length;$i++){
$str.=$strPol[rand(0,$max)];
}
return $str;
}
require_once(DEDEINC.'/ucpaas.class.php');
$options['accountsid']='';  //对应ucpaas.com用户ID
$options['token']='';  //对应ucpaas.com内里的用户token
$ucpass = new Ucpaas($options);
$appId = ""; //对应ucpaas.com内里的项目ID
$to = $phone;
$templateId = ""; //对应ucpaas.com内里的短信模版ID
$code = getrandchar(5);
$param= $code.',短信模版参数2'.',短信模版参数3'; // $code为生成的考证码,短信模版参数2,短信模版参数3,参数之间用英文逗号距离。
$ucpass->templateSMS($appId,$to,$templateId,$param);
  
$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();

一样的附上短信模版:考证码:{1}。您正在{2},如非您本人操纵,请疏忽此条短信。若有疑问请与我们联络! 电话:{3}

以上就是织梦短信考证码功用怎样完成的细致内容,更多请关注ki4网别的相干文章!

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

分享到:
赞(0) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"织梦短信验证码功用怎样完成【DedeCMS】,织梦"

最新评论

    暂无留言哦~~

博客简介

看古风美女插画Cos小姐姐,素材合集图集打包下载:炫龙网,好看二次元插画应有尽有,唯美小姐姐等你来。

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

服务热线:
 

 QQ在线交流

 旺旺在线