首页 > 后端开发 > 正文

php框架验证码 php实现手机验证码验证注册功能的逻辑是怎样的?

2023-09-16 15:11:04 | 我爱编程网

大家平时对后端开发都十分关注,今天为大家整理了php框架验证码 php实现手机验证码验证注册功能的逻辑是怎样的?,下面就随我爱编程网小编一起来看一下吧。

php框架验证码 php实现手机验证码验证注册功能的逻辑是怎样的?

如何解决thinkphp5中验证码常见问题

  1. 在项目目录下面生成captcha扩展 (需要安装composer来安装)

  2. composer require topthink/think-captcha

  3. 2 安装完成之后会呈现如上的目录。captcha扩展安装完成之后,就可以进行下一步操作

  4. 配置comfig.php文件:在comfig.php下面加个扩展

  5. //验证码

  6. 'captcha'=> [

  7. //字符集合

  8. 'codeset'=>'23456780qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM',

  9. //字体大小 我爱编程网

  10. 'fontSize' => 18,

  11. //是否花混淆曲线

  12. 'useCurve' => true,

  13. //图片高度

  14. 'imageH' => 40,

  15. //图片宽度

  16. 'imageW' => 130,

  17. //位数

  18. 'length' => 4,

  19. //验证成功后是否重置

  20. 'reset' => true,

  21. ],

  22. 3.刷新验证码功能  src路径在这里可以用框架自带的也可以直接访问img方法

  23. <img id="captcha_img" src="{:captcha_src()}" alt="验证码" onclick="refreshVerify()"><a

  24. href="javascript:refreshVerify()">点击刷新</a>

  25. 在js《script》标签部分加上刷新事件

  26. function refreshVerify()

  27. {

  28. var ts = Date.parse(new Date() )/1000;

  29. console.log(ts);

  30. $('#captcha_img').attr('src','/captcha?id='+ts);

  31. }

  32. 4.在控制器里用TP验证自带的方法

  33. 在你的登录的控制器里面加入

  34. 4.1在头部引入 use think\captcha\Captcha;

  35. //该方法引入img图像  宽高可以再img用css直接控制!

  36. public function img() {

  37. $captcha = new Captcha();

  38. return $captcha->entry();

  39. }

  40. // 检测输入的验证码是否正确,$code为用户输入的验证码字符串,$id多个验证码标识

  41. function check_verify($code, $id = ''){

  42. $captcha = new Captcha();

  43. return $captcha->check($code, $id);

  44. }这个方法下面的验证要用到

  45. 在你的form验证码值发送的方法里加入 post提交 GET提交就把post改成get  表单验证码name是code

  46. $request=request();

  47. if ($request->isPost()){

  48. if($request->post('code')){

  49. if($this->check_verify($request->post('code'))){

  50. $message= '验证成功';

  51. }else{

  52. $message= '验证错误';

  53. }

  54. }else{

  55. $message= '没有输入验证码';

  56. }

  57. }

  58. 照以上做没有任何问题

php框架验证码 php实现手机验证码验证注册功能的逻辑是怎样的?

php实现手机验证码验证注册功能的逻辑是怎样的?

手机注册验证逻辑是这样的:
首先要找短信服务商如:梦网、云信使、互亿无线等等申请短信发送接口。
网站实现流程如下:

第一步:用户注册时输入手机号,网站首先要通过JS或者ajax+php验证这个号码是不是正确的手机号。
第二步:用户点击发送手机验证码,通过ajax把手机号传到php,这时php生成一个随机的验证码保存在session中,然后通过短信接口把这个验证码发送到这个手机号中。
第三步:用户输入手机收到的验证码注册。网站用session中的验证码和用户输入的验证码比较。

php框架验证码 php实现手机验证码验证注册功能的逻辑是怎样的?

thinkphp 验证码怎么调用

一、首先需要在控制器中加入验证码方法admin/Lib/Action/LoginAction.class.php
知识点:
1、ob_clean函数用途
2、import方法调用think默认类库
3、Image类buildImageVerify方法使用
代码如下:
. 代码如下:

Public function verify(){
ob_clean();
//ob_clean函数 清空先前输出
import('ORG.Util.Image');
//import调用的是message/ThinkPHP框架目录下的扩展包Extend/Library/ORG/Util/中的Image.class.php类文件
Image::buildImageVerify();
//调用buildImageVerify方法生成验证码,默认参数为($length=4, $mode=1, $type='png', $width=48, $height=22, $verifyName='verify'),有兴趣的朋友可以研究下Image类
}
二、在模板文件中加入验证码模块admin/Tpl/Login/index.html
知识点:
1、验证码图片调用
2、js相关运行流程了解
3、__PUBLIC__常量
在密码输入框后加入如下代码:
. 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " ">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="__PUBLIC__/Js/jquery-1.7.2.min.js"></script>
//__PUBLIC__常量可以在页面加载后,“查看页面源文件”中找到定义的__PUBLIC__目录,默认为项目根目录message下的Public目录,下面会讲解如何自定义__PUBLIC__系统常量
//jquery文件,只有加载了这个文件才可以调用jquery的方法
<script type="text/javascript" src="__PUBLIC__/Js/login.js"></script>
//这里的具体代码会在下面贴出,其实只是定义了一个change_code函数,也就是更换验证码的异步操作(可以在不刷新页面的情况下更换)
<title>Message Board BackGround</title>
</head>
<body>
<form action="{:U('admin.php/Login/login')}" method="post" name="back_login" >
<h3>简易后台登录系统</h3>
用户名:<input type='username' name='username' id='username' />
<br />
密码:<input type='password' name='password' id='password' />
<br />
验证码:<input type="code" name="code"/>
//这里需要注意将type设置为code,name命名为code
<img src="{:U('Admin/Login/verify','','')}" id="code"/>
//img标签下的src就是调用Login控制器中的veryfy方法
//后面的两个参数留空是必须的,其中第2个没实际意义,主要是为了第3个参数留空,这样设置可以取消伪静态后缀名,否则默认的伪静态后缀名为html,将会导致无法正常加载图片
<a href="javascript:void(change_code(this));">看不清</a>
//这里调用了个
<br />
<input type="submit" value="登录"/>
</form>
</body>
</html>

login.js文件在message/Public/目录下
文件内容如下:
. 代码如下:

verifyURL = ' ';
//定义验证码路径
function change_code(obj){
$("#code").attr("src",verifyURL+'/'+Math.random());
//动态生成验证码方法,有兴趣的朋友可以深入研究下jq方法
return false;
}
另:__PUBLIC__文件定义在message/admin/Conf/config.php
在配置中,加入如下内容,即可改变__PUBLIC__路径
配置如下:
. 代码如下:

//常量相关配置
'TMPL_PARSE_STRING' => array(
'__PUBLIC__' => __ROOT__ . '/' . APP_NAME . '/Public',
//路径改变为message/admin/Public,刷新页面,验证码依然可以刷新,则表明js生效,也可“查看页面源文件”
),

以上就是今天分享给大家的内容了,想要了解更多后端开发资讯,敬请关注我爱编程网!
与“php框架验证码 php实现手机验证码验证注册功能的逻辑是怎样的?”相关推荐
php框架下验证码登录 php如何写注册登录验证码
php框架下验证码登录 php如何写注册登录验证码

PHP中模拟登录的验证码问题应该如何解决基本思路:首先获取一个cookies值,再带着这个cookies去获取验证码图片,你再带着验证码值和登录数据去模拟post登录。下面是一个模拟获取验证码的。这里忽略获取cookies的过程。注意文件为UTF-8无BOM格式?phpheader('Content-Type:image/png');$url = "";//图片链接$ch

2023-10-05 02:56:26
web前端开发短信验证 各大APP注册时发送短信验证码是怎么实现的?
web前端开发短信验证 各大APP注册时发送短信验证码是怎么实现的?

各大APP注册时发送短信验证码是怎么实现的?简单来说,app注册验证码都是接入的第三方短信服务商来实现的,app与短信服务商合作,短信服务商会提供api接口文档,app按照文档要求对接平台即可使用(需要懂技术才能操作)。短信验证码实现流程:1)用户在点击获取短信验证码后,网站或者APP后台就会按照某种规则,随机生成一个验证码,位数可以自己定(一般是4位或者6位);推荐阅读:接收短

2023-09-30 07:05:04
php框架的验证码在哪里 thinkphp 验证码怎么调用
php框架的验证码在哪里 thinkphp 验证码怎么调用

thinkphp验证码怎么调用一、首先需要在控制器中加入验证码方法admin/Lib/Action/LoginAction.class.php知识点:1、ob_clean函数用途2、import方法调用think默认类库3、Image类buildImageVerify方法使用代码如下:.代码如下:Publicfunctionverify(){ob_clean

2023-10-06 23:53:13
php框架yaf验证码 php如何做验证码
php框架yaf验证码 php如何做验证码

怎么样能够让php生成4位数字验证码PHP生成验证码的原理:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中。PHP生成验证码的大致流程有:1、产生一张png的图片;2、为图片设置背景色;3、设置字体颜色和样式;4、产生4位数的随机的验证码;5、把产生的每...php如何做验证码php验证码制作是对php基本功的考核,php验证码制作必需开启gd库,因为要

2023-09-24 14:52:48
php框架中怎么引用验证码 php 验证码 使用
php框架中怎么引用验证码 php 验证码 使用

php验证码使用你访问 你地址/上述程序的文件名.php?action=verifycode这样就可以看到图片了,同理插入到登录框用&lt;img src="你地址/上述程序的文件名.php?action=verifycode"/&gt;就可以了-------------------------leboc代码你都没看懂,$_GET["action"]=="ve

2023-10-06 13:10:50
php验证码框架 如何用PHP生成验证码
php验证码框架 如何用PHP生成验证码

使用thinkPHP3.2.3框架调用验证码不显示应该怎么解决缺少src="{:U('Admin/Index/show')}"设置'URL_ROUTER_ON'=&gt;true,阻止submit提交行为、用js设置了e.preventDefault();可还会提交上去。&lt;formonsubmit="returnfalse"id="form"&gt;或者用JS绑定ons

2023-09-18 17:03:16
php框架验证码上传 如何用PHP生成验证码
php框架验证码上传 如何用PHP生成验证码

thinkphp中验证码,本地测试验证码显示,上传到服务器就不显示了,是什么问题这个问题建议你查询一下PHP带的GD库有没有打开,Windows的话看下dll那块,Apache的看下mod那块,如果有这个dll或者so,去php.ini里面看下gd相关的dll或者so有没有被启用就好了,关了就开起来,如果开起来还是没有好,那我建议你修改验证码方案,使用类似极验验证的解决方案,他是外置的,我之

2023-09-25 17:00:17
php框架验证 急急急!!!thinkphp3.22 框架 验证码检验始终是false
php框架验证 急急急!!!thinkphp3.22 框架 验证码检验始终是false

使用thinkPHP3.2.3框架调用验证码不显示应该怎么解决缺少src="{:U('Admin/Index/show')}"设置'URL_ROUTER_ON'=&gt;true,阻止submit提交行为、用js设置了e.preventDefault();可还会提交上去。&lt;formonsubmit="returnfalse"id="form"&gt;或者用JS绑定ons

2023-09-02 09:40:11