thinkphp5.1验证码及验证码验证功能的实现详解
时间:2022-07-27
本文章向大家介绍thinkphp5.1验证码及验证码验证功能的实现详解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
注:由于thinkphp5.1没有自带验证码,所以需要通过composer安装think-captcha 扩展包才能实现验证码
一、安装composer
https://www.zalou.cn/article/178346.htm
二、通过composer安装think-captcha 扩展包
打开命令窗口,进入vendor/topthink输入指令即可,也可以安装shift键再右击鼠标打开命令窗口可以直接进入当前文件夹位置
composer require topthink/think-captcha
三、在控制器里写验证码的方法,要在命名空间引入use thinkcaptchaCaptcha;然后在网址中输入该方法的路由地址就可以出来验证码
//验证码
public function verify()
{
$captcha = new Captcha();
return $captcha- entry();
}
四、验证码在模板中输出
在视图中加入以下代码:
<img src="{:url('user/verify')}" alt="captcha" /
src里填写verify方法的路由地址
五、验证输入的验证码是否正确
1、可以用 Captcha 类的 check 方法检测验证码的输入是否正确
// 检测输入的验证码是否正确,$value为用户输入的验证码字符串
$captcha = new Captcha();
if( !$captcha- check($value))
{
// 验证失败
}
2、或者直接调用封装的一个验证码检测的函数 captcha_check
/ 检测输入的验证码是否正确,$value为用户输入的验证码字符串
if( !captcha_check($value ))
{
// 验证失败
}
六、自定义验证码的参数
//验证码
public function verify()
{
$config = [
// 验证码字体大小
'fontSize' = 30,
// 验证码位数
'length' = 4,
// 关闭验证码杂点
'useNoise' = true,
// 验证码图片高度
'imageH' = 60,
// 验证码图片宽度
'imageW' = 200,
// 验证码过期时间(s)
'expire' = 1800,
];
$captcha = new Captcha($config);
return $captcha- entry();
}
在vendortopthinkthink-captchasrc目录下的Captcha.php中也可以配置
七、以下是我测试登录的代码部分截图
控制器里的verify()方法
控制器里的验证登录的loginCheck()方法
视图层里的验证码显示
以上就是本文的全部内容,希望对大家的学习有所帮助。
- 在ASP.NET MVC中使用Unity进行依赖注入的三种方式第一种方法第二种方法第三种方法
- Unity Container中的几种注册方式与示例1.实例注册2.简单类型注册
- 使用Unity创建依赖注入依赖注入生命周期:注册、解析、销毁 注册解析销毁
- 使用WCF进行跨平台开发之三(JAVA调用WCF服务)1.开发必备2.生成WCF客户端3.开发程序4.结束语
- 使用WCF进行跨平台开发之二(IIS托管WCF服务并使用php平台调用)1.系统必备2.在IIS中托管WCF服务3.使用PHP调用托管在IIS中的WCF服务
- 使用WCF进行跨平台开发之一(WCF的实现、控制台托管与.net平台的调用)1.创建项目结构2.契约的设计3.实现服务4.控制台托管服务5.在.net平台中调用WCF
- 使用GUI工具高效构建你自己的Nuget包丰富包的基础信息添加要包含的文件The end
- 网页结构与表现原则
- CSS3动画功能
- Angular开发者手册重点翻译之指令(一)文本和属性绑定ngAttr属性绑定
- CSS3中的变形处理
- WCF中操作的分界于调用顺序和会话的释放操作分界实例停止
- WCF中数据契约之已知类型的几种公开方式代码中定义配置中定义宿主端使用解析器
- 有趣的算法(一)——n阶层尾部有几个0
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Android 自定义View 画圆(奥运五环)
- Android 触摸屏交互之手势监听
- Android Glide加载网络图片不显示,但用网页打开又正常显示
- Android获取APP的版本号和版本名
- Android 在一个APP里打开另一个APP
- Android 自定义加载动画Dialog弹窗
- Android 天气APP(十一)未来七天的天气预报、逐小时预报、UI优化
- Android 天气APP(十)继续优化、下拉刷新页面天气数据
- Activity 活动跳转(Java&Kotlin)
- Android 天气APP(九)细节优化、必应每日一图
- Android CheckBox修改选中颜色并去除选中时的水波纹效果
- 绘制带回归线的散点图
- Java&Android像素px、dip转换工具类
- Android WIFI是否连接,网络状态监测工具类
- Kotlin学习日志(五)类与对象