详解织梦dedecms短信验证码功能(阿里短信)

这篇具有很好参考价值的文章主要介绍了详解织梦dedecms短信验证码功能(阿里短信)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

现在大部分网站都需要用短信验证码,因为织梦官方没有短信验证码插件,所以写了几个短信验证码插件,一个使用的是阿里云的短信验证码接口,一个使用的是阿里大于的短信验证码接口,一个使用的是阿里通信短信验证码接口,另外一个使用的是云之讯的短信接口。下面的教程包含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;$isetSignName("签名");/*签名名称*/
    $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;$iappkey = '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;$isetPhoneNumbers($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;$itemplateSMS($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}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持yii666。文章来源地址https://www.toymoban.com/news/detail-432601.html

到了这里,关于详解织梦dedecms短信验证码功能(阿里短信)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 详解织梦模板DEDECMS核心类TypeLink.class.php功能分析

    DedeCMS 核心类TypeLink.class.php摘要笔记,学习php就是借鉴与分析,让自己的掌握的更多。 注:\\\'//+\\\' 表示为本人另外加上的注释 功能一,获得某类目的链接 代码如下: 功能二,获得某类目的链接列表 如:\\\'类目一类目二\\\' 这样的形式。 代码如下: 功能三, 获得类别列表 高级搜索功

    2024年02月02日
    浏览(26)
  • 【账号系统之(手机验证码登录)】使用阿里云短信服务,实现服务商给手机发送验证码功能。

    目录 一、前言 二、前期准备 三、购买短信服务 四、申请签名和模板 (1) 进入阿里云短信服务控制台 (2) 添加签名 (3) 添加模板 五、RAM申请及权限配置 (1) 进入RAM访问控制界面 (2) 创建用户 (3) 分配权限 (4) 创建角色 (5) 记录段的值 六、阿里云.NET SDK身份验证接入 (1) 了解

    2024年02月04日
    浏览(42)
  • 织梦DedeCms取消后台登陆验证码的方法示例

    首先模拟会员登录和退出,有两个重要文件,一个是include下的memberlogin.class.php和include/helpers下的cache.helper.php文件。 原理为:memberlogin.class.php通过使用缓存助手 helper(\\\'cache\\\'),然后/member/config.php 文件引入memberlogin.class.php文件实现模拟登录和退出。 模拟会员登录代码 引入/memb

    2024年02月02日
    浏览(31)
  • DedeCMS织梦自定义表单增加验证码的实例代码

    DedeCMS织梦验证码主要的作用就是防止一些用户的恶意提交,在很多的地方都会有验证码的出现,自定义表单也是在很多的地方都需要用到,但是默认的自定义表单是没有验证码的,这里介绍的方法就可以让大家自己添加验证码的功能。   1、先进入DedeCMS后台生成自定义表单。

    2024年02月03日
    浏览(27)
  • 织梦dedecms默认编辑器实现上传视频功能

    织梦默认的编辑器采用的是ckeditor厂商提供的,只可以上传Flash,今天我们进行二次改进,使之可以上传视频文件如MP4文件进行播放,方法比较简单,无需去更换编辑器,下面就言归正传。 第一步:后台系统–添加MP4扩展名 登录后台–系统基本参数–附件设置–允许的多媒体

    2024年02月03日
    浏览(32)
  • 如何为dedecms织梦模板发布文章添加禁用词语过滤功能

    dedecms(本例为V57_UTF8_SP1)中在互动部分有词语过滤功能,但是文章部分没有添加此功能,我们自己手动添加下发布文章禁用词语过滤功能。 在/dede/article_add.php中的代码: 之前添加代码: 同时修改/dede/article_edit.php中对应代码部分就可以了。 以上就是本文的全部内容,希望对

    2024年02月02日
    浏览(81)
  • dedecms织梦实现中英文分页功能方法步骤

    前言 之前做项目的时候遇到一个需求,因为是中英文版本的网站,所以分页也就需要对应的英文,在论坛、百度等地方搜索了很久均没能找到满意的答案,不过今天找到下面这篇内容,并进行测试,发现可以适合织梦目前最新的5.7版,并且已经成功的实现,所以与大家分享下

    2023年04月24日
    浏览(40)
  • 织梦dedecms页面空白后开启错误信息提示功能方便调试错误

    下面是具体的解决方法 打开 /include/common.inc.php 找到 error_reporting(E_ALL || ~E_NOTICE); 改成 ini_set(\\\'display_errors\\\',\\\'On\\\'); error_reporting(E_ALL); 到此这篇关于织梦dedecms页面空白后开启错误信息提示功能方便调试错误的文章就介绍到这了,更多相关织梦开启错误提示内容请搜索yii666以前的文章

    2024年02月04日
    浏览(31)
  • dedecms织梦给后台管理员列表增加搜索功能的示例代码

    最近用织梦系统给一个客户做了一个管理系统,客户分配的管理员账户达到了300多个,搜索起来很不方便,应客户要求要加一个管理员账户搜索功能,其实做起来蛮容易的,修改文件涉及两个,首先打开文件: 1、默认为/dede/templets/sys_admin_user.htm,在合适的位置加入代码: 管

    2024年02月02日
    浏览(41)
  • 织梦DedeCMS [field:highlight/]标签详解(小结)

    我们在制作Tag标签模板时会遇到[field:highlight/]标签 这是标签随机样式 v5.7版官方只放出了2个样式,现在我们可以改为任意个样式 第一步:首选找到    templetsdefaultstylepage.css  里面找到 905行  .tagc1 在后面加上你自己的样式 如:.tagc2 .tagc3 .tagc4 ……等样式/(注意要连续递

    2024年02月02日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包