织梦短信验证码功能的实现方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
<强>织梦短信验证码功能怎么实现? 强>
现在大部分网站都需要用短信验证码,因为织梦官方没有短信验证码插件,所以写了几个短信验证码插件,一个使用的是阿里云的短信验证码接口,一个使用的是阿里大于的短信验证码接口,一个使用的是阿里通信短信验证码接口,另外一个使用的是云之讯的短信接口。
包含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;); 退出(); } 退出();织梦短信验证码功能的实现方法