织梦短信验证码功能的实现方法

  介绍

织梦短信验证码功能的实现方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

<强>织梦短信验证码功能怎么实现?

现在大部分网站都需要用短信验证码,因为织梦官方没有短信验证码插件,所以写了几个短信验证码插件,一个使用的是阿里云的短信验证码接口,一个使用的是阿里大于的短信验证码接口,一个使用的是阿里通信短信验证码接口,另外一个使用的是云之讯的短信接口。

包含2个织梦短信验证码接口。

织梦会员短信注册需要修改的地方:

1,需要创建一个表来对验证码进行记录,防止多次发送,这里创建了一个phonecode表。

2/样板/reg-new成员。htm(注册模版添加元素)

3,成员/样板/js/reg_new。js(验证手机号)

4/index_do成员。php(根据后台设置,判断是否发送注册验证码)

5/reg_new成员。php(验证,记录)

。使用阿里云短信接口接入:

需要在/index_do成员。php对应的位置插入阿里云短信接口代码。特别需要注意的是,阿里云短信官方演示文档是大神写的,所以普通人用起来会报命名空间错误,这个需要自己注意。另外需要更新下短息模板,现在阿里短信模板审核非常严格,不允许有其他变量,之前并没有这个问题,所以,审核不过的时候,需要减少变量。(目前已经无法开通阿里云短信接口,新开通的是阿里通信接口,不能使用这段代码,只适合很久之前就开通过阿里云短信的人)

函数getrandchar(长度){   美元str=零;   $ strPol=?123456789 abcdefghijklmnopqrstuvwxyz";   max=strlen (strPol美元)1美元;   (我=0;i<美元;长度;美元美元我+ +){   str。=strPol美元[兰德(0,马克斯美元)];   }   返回str美元;   }   代码=美元getrandchar (5);      require_once (DEDEINC强生# 39;/aliyun-php-sdk-core/config . php # 39;);   使用Sms短信\ \ V20160927请求;   $ iClientProfile=DefaultProfile:: getProfile (“cn-shenzhen",“你的accessKey",“你的accessSecret");//登录阿里云查看:“你accessKey",“accessSecret"   (客户=new DefaultAcsClient美元iClientProfile);   $请求=新短信\ SingleSendSmsRequest ();   请求→美元setSignName(“签名“);/*签名名称*/请求→美元setTemplateCode (“SMS_1111");/*模板代码*/请求→美元setRecNum(电话)美元;/*目标手机号*/请求→美元setParamString(“{\“\“代码:\“代码\“美元,\“tel \“: \“电话号码\“}”);/*模板变量,请确保跟审核过的短信模版变量一致,数字一定要转换为字符串*/尝试{   响应=客户→美元getAcsResponse($请求);   print_r($响应);   }   抓住(ClientException $ e) {   print_r ($ e→getErrorCode ());   print_r ($ e→getErrorMessage ());   }   抓住(ServerException $ e) {   print_r ($ e→getErrorCode ());   print_r ($ e→getErrorMessage ());   }      美元inquery=?插入“dede_phonecode”(“知识产权”、“电话”,“phonecode”,“使用”,“sendtime”)值(& # 39;ip # 39;美元,& # 39;美元伍仟# 39;,& # 39;代码# 39;美元,& # 39;1 & # 39;,& # 39;nowtime& # 39;美元);“;   rs=dsql→美元ExecuteNoneQuery2 ($ inquery);   如果(rs=1美元){   ShowMsg(& # 39;发送成功,请注意查收! & # 39;,& # 39;1 & # 39;);   退出();   }   退出();

附上阿里云短信模版:验证码:${代码}。您正在注册,如非您本人操作,请忽略此条短信。如有疑问请与我们联系!电话:${电话}

b。使用阿里大鱼的短信接口接入:

同样的需要在/index_do成员。php对应的位置插入以下代码。

函数getrandchar(长度){   美元str=零;//$ strPol=癆BCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";   $ strPol=?123456789 abcdefghijklmnopqrstuvwxyz";   max=strlen (strPol美元)1美元;   (我=0;i<美元;长度;美元美元我+ +){   str。=strPol美元[兰德(0,马克斯美元)];   }   返回str美元;   }   代码=美元getrandchar (5);      require_once (DEDEINC强生# 39;/alidayu-php-sdk TopSdk.php& # 39;);   客户=new TopClient美元;   客户→美元appkey=& # 39; 111111 & # 39;;//登录阿里大于查看appkey。   客户→美元secretKey=& # 39; aaaaaaaaaaaaaa& # 39;;//登录阿里大于查看秘密。   要求=new AlibabaAliqinFcSmsNumSendRequest美元;   申请→美元setExtend (“;”);   申请→美元setSmsType(“中性”)。;   申请→美元setSmsFreeSignName(“城子居“);/*签名名称*/申请→美元setSmsParam(“{\“\“代码:\“代码\“美元,\“\“名称;:\“注册\“}”);/*模板变量,请确保跟审核过的短信模版变量一致,数字一定要转换为字符串*/申请→美元setRecNum(电话)美元;/*目标手机号*/申请→美元setSmsTemplateCode (“SMS_1111111");//登录阿里大于查看/*模板ID编号*/$ resp=$客户→执行($要求);      美元inquery=?插入“imm_phonecode”(“知识产权”、“电话”,“phonecode”,“使用”,“sendtime”)值(& # 39;ip # 39;美元,& # 39;美元伍仟# 39;,& # 39;代码# 39;美元,& # 39;1 & # 39;,& # 39;nowtime& # 39;美元);“;   rs=dsql→美元ExecuteNoneQuery2 ($ inquery);   如果(rs=1美元){   ShowMsg(& # 39;发送成功,请注意查收! & # 39;,& # 39;1 & # 39;);   退出();   }   退出();

织梦短信验证码功能的实现方法