帝国cms8.0版本,虽然升级了很多功能,但细节的雕琢方面,已经不如前期。8.0短信登录插件,开启后台的短信验证码后,仍需要手动配置。

1、开启短信验证码

后台开启短信验证码登录

2、前端添加验证码代码

/e/extenddef/esms/template/BindPhLoginTemp.php

手机验证码上方,添加图形验证码

<?php
    if($public_r['loginkey_ok'])
    {
    ?>
    <tr bgcolor="#FFFFFF"> 
        <td width="23%" >图形验证:</td>
        <td width="77%" >
            <input name="key" type="text" id="key" size="6" class="form-control" placeholder="图形验证码">
            <label><i class="iconfont icon-securityCode-b"></i></label>
            <span id="loginshowkey"><a href="javascript:void(0);" onclick="edoshowkey('loginshowkey','login','<?=$public_r['newsurl']?>');" title="点击显示验证码">点击显示验证码</a></span>
        </td>
    </tr>
    <?php
    }	
    ?>

3、发送按钮添加key

/e/extenddef/esms/ecmsfun.php
找到 &prtype='+eprtype

做出如下调整

document.getElementById('esendphmpage<?=$vpre?>').src='<?=$public_r['newsurl']?>e/extenddef/esms/doaction.php?enews=DoSendPhm&smtype='+emtype+'&sphno='+ephno+'&stime='+timestrjs+'&<?=$formkey_varname?>na='+eformkey+'&prtype='+eprtype+'&key='+encodeURIComponent(document.getElementById('key')?document.getElementById('key').value:'');

4、添加验证逻辑,找到

if(!echphno($phno))
    {
        echo'没有收到号码';
        exit();
    }

在下面,添加

//图形验证码
    $keyvname='checkloginkey';
    if($public_r['loginkey_ok'])
    {
        ecmsCheckShowKey($keyvname,$key,$dopr);
    }

至此,就算可以了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系客服QQ3387285338进行处理。