帝国CMS手机验证码登录增加图形验证码验证教程
我的站长站
2026-09-23
共人阅读
教程简介
在使用帝国CMS开发网站时,短信验证码登录功能可以方便用户快速登录,但如果缺少额外验证机制,可能会出现验证码接口被频繁调用的问题。本文由我的站长站整理分享,介绍如何在帝国CMS手机验证码登录页面中添加图形验证码验证功能。
通过本教程修改后,用户在获取手机验证码前,需要先完成图形验证码验证,可以减少无效请求,同时提升短信验证码功能的安全性。
教程主要内容
一、开启帝国CMS短信验证码登录功能
首先进入帝国CMS后台,确认已经开启短信验证码登录相关设置,确保手机验证码登录功能可以正常使用。
后台开启后,继续修改前端登录模板以及发送验证码程序。
二、手机验证码登录页面添加图形验证码
打开以下文件:
/e/extenddef/esms/template/BindPhLoginTemp.php
找到手机验证码输入区域,在手机验证码输入框上方增加图形验证码代码:
图形验证: 点击显示验证码
添加完成后,登录页面会根据后台验证码开关状态显示图形验证码输入区域。
三、发送短信验证码时提交图形验证码参数
打开文件:
/e/extenddef/esms/ecmsfun.php
找到发送短信请求地址中的:
&prtype='+eprtype
修改为增加 key 参数,将用户填写的图形验证码一起提交:
document.getElementById('esendphmpage').src='e/extenddef/esms/doaction.php?enews=DoSendPhm&smtype='+emtype+'&sphno='+ephno+'&stime='+timestrjs+'&na='+eformkey+'&prtype='+eprtype+'&key='+encodeURIComponent(document.getElementById('key')?document.getElementById('key').value:'');这样用户提交短信验证码请求时,会同时携带图形验证码内容。
四、增加图形验证码验证逻辑
继续在以下文件中添加验证代码:
/e/extenddef/esms/doaction.php
找到手机号码验证代码:
if(!echphno($phno))
{
echo'没有收到号码';
exit();
}在下面增加图形验证码判断:
//图形验证码
$keyvname='checkloginkey';
if($public_r['loginkey_ok'])
{
ecmsCheckShowKey($keyvname,$key,$dopr);
}其他说明
完成以上修改后,帝国CMS手机验证码登录流程会增加图形验证码验证步骤。用户需要输入正确验证码后,才可以继续发送短信验证码。
如果网站已经开启缓存、模板静态化或者使用了自定义登录模板,修改完成后建议清理缓存并重新生成相关页面,避免前端仍显示旧代码。
本文教程由我的站长站整理发布,适用于帝国CMS网站功能开发与安全优化场景。不同版本帝国CMS文件结构可能存在差异,修改前建议备份相关文件,方便出现问题时快速恢复。
