帝国cms教程

帝国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文件结构可能存在差异,修改前建议备份相关文件,方便出现问题时快速恢复。

帝国CMS教程标签