thinkphp5.1验证码及验证码验证功能的实现详解

注:由于thinkphp5.1没有自带验证码,所以需要通过composer安装think-captcha 扩展包才能实现验证码

一、安装composer

https://www.jb51.net/article/178346.htm

二、通过composer安装think-captcha 扩展包

打开命令窗口,进入vendor/topthink输入指令即可,也可以安装shift键再右击鼠标打开命令窗口可以直接进入当前文件夹位置

composer require topthink/think-captcha

三、在控制器里写验证码的方法,要在命名空间引入use think\captcha\Captcha;然后在网址中输入该方法的路由地址就可以出来验证码

//验证码
  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();
  }

在vendor\topthink\think-captcha\src目录下的Captcha.php中也可以配置

七、以下是我测试登录的代码部分截图

控制器里的verify()方法

控制器里的验证登录的loginCheck()方法

视图层里的验证码显示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法

    本文实例讲述了thinkPHP5.0框架验证码调用及点击图片刷新实现方法.分享给大家供大家参考,具体如下: 1.配置文件中增加验证码配置 'captcha' => [ // 验证码字符集合 'codeSet' => '23456789', // 验证码字体大小(px) 'fontSize' => 25, // 是否画混淆曲线 'useCurve' => false, // 验证码位数 'length' => 4, // 验证成功后是否重置 'reset' => true

  • ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】

    本文实例讲述了ThinkPHP5.0框架验证码功能实现方法.分享给大家供大家参考,具体如下: 背景 ThinkPHP5.0 已经出现很久了,最近有所接触,下面介绍一下常用的第三方验证码功能的使用. ♜ 功能开发 1).引入第三方扩展包 进行 TP5 的开发,Composer 的使用会成为重要技能,以 windows 为例子,输入命令: composer require topthink/think-captcha 完成上述操作,会在以下目录中出现 captcha 的扩展包 ..\vendor\t

  • thinkphp5.1验证码及验证码验证功能的实现详解

    注:由于thinkphp5.1没有自带验证码,所以需要通过composer安装think-captcha 扩展包才能实现验证码 一.安装composer https://www.jb51.net/article/178346.htm 二.通过composer安装think-captcha 扩展包 打开命令窗口,进入vendor/topthink输入指令即可,也可以安装shift键再右击鼠标打开命令窗口可以直接进入当前文件夹位置 composer require topthink/think-ca

  • Flask框架中密码的加盐哈希加密和验证功能的用法详解

    密码加密简介 密码存储的主要形式: 明文存储:肉眼就可以识别,没有任何安全性. 加密存储:通过一定的变换形式,使得密码原文不易被识别. 密码加密的几类方式: 明文转码加密:BASE64, 7BIT等,这种方式只是个障眼法,不是真正的加密. 对称算法加密:DES, RSA等. 签名算法加密:也可以理解为单向哈希加密,比如MD5, SHA1等.加密算法固定,容 易被暴力破解.如果密码相同,得到的哈希值是一样的. 加盐哈希加密:加密时混入一段"随机"字符串(盐值)再进行哈希加密.即使密码相同

  • JavaScript生成验证码并实现验证功能

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <html> <head> <title>验证码</title> <style type="text/css"> #code { font-family:Arial; font-style:italic; font-weight:bold; border:0; letter-spacing:2px; color:blue; } </style> <scri

  • springboot验证码生成以及验证功能举例详解

    目录 1.easy-captcha工具包 2添加依赖 3.验证码字符类型 4.字体设置 5验证码图片输出 6.生成并显示验证码 6.1后端 6.2前端 7 验证码的输入验证 7.1后端 7.2前端 总结 1.easy-captcha工具包 生成验证码的方式有许多种,这里选择的是easy-captcha工具包. github开原地址为:easy-captcha工具包 其支持Java图形验证码,支持gif.中文.算术等类型,可用于Java Web.JavaSE等项目. 2添加依赖 首先需要将easy

  • Android中用Bmob实现短信验证码功能的方法详解

    这篇文章主要介绍发送验证码和校验验证码的功能,用到一个第三方平台Bmob,那Bmob是什么呢?Bmob可以开发一个云存储的移动应用软件,他提供了大量的标准的API接口,根据需要接入相关服务,开发者可以更加专注于应用的开发,让产品交付更快速,验证码功能就是其中一个. 一.跟其他第三方一样,我们开发之前要做一些准备工作. 1.首先,去官网注册一个帐号:http://www.bmob.cn/: 2.然后就可以创建应用了:具体怎么做Bmob说得很清楚了(官方操作介绍),如果你不想看,我简单说一下:点击右

  • thinkphp5框架API token身份验证功能示例

    本文实例讲述了thinkphp5框架API token身份验证功能.分享给大家供大家参考,具体如下: 使用说明:登陆时生成token和刷新用的refresh_token,返回给客户端,客户端收到保存本地localStorage等,每次访问接口带上token,后端验证token存在并且一致后方可执行接下来的动作,假如不存在就返回token过期,客户端调用刷新接口传入token和refresh_token,服务器端进行验证,验证通过重新生成新的token保存数据库,返回给客户端客户端刷新本地toke

  • Thinkphp5框架使用validate实现验证功能的方法

    本文实例讲述了Thinkphp5框架使用validate实现验证功能的方法.分享给大家供大家参考,具体如下: 作为前端er,对于验证这块有着切身的体会,虽然逐渐得心应手,但始终没有一个内置的功能拿来就能用.tp5恰好提供一个.本文简单介绍并实现以下.主要是实现一下. 验证的实现基于tp5内置的对象validate. 在Index模块化下index控制器同级目录创建一个validate文件,里面一个Vdate.php验证文件,这个文件也可以放在common目录下面,只要namespace正确就可.

  • Spring Boot实现登录验证码功能的案例详解

    目录 验证码的作用 案例要求 前端页面准备 准备login.html页面 随机验证码工具类 后端控制器 验证码的作用 验证码的作用:可以有效防止其他人对某一个特定的注册用户用特定的程序暴力破解方式进行不断的登录尝试我们其实很经常看到,登录一些网站其实是需要验证码的,比如牛客,QQ等.使用验证码是现在很多网站通行的一种方式,这个问题是由计算机生成并且评判的,但是必须只有人类才能解答,因为计算机无法解答验证码的问题,所以回答出问题的用户就可以被认为是人类.验证码一般用来防止批量注册. 案例要求 验证

  • PHP验证码类文件及调用方式代码详解

    代码如下所示: //验证码类 class ValidateCode { private $charset = 'abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ23456789';//随机因子 private $code;//验证码 private $codelen = 4;//验证码长度 private $width = 130;//宽度 private $height = 50;//高度 private $img;//图形资源句柄 private $fon

  • Vue中设置登录验证拦截功能的思路详解

    目录 一.解决思路 二.让浏览器存储服务器返回的token 三.在请求中设置访问权限 四.封装登录验证 Hello,你好呀,我是灰小猿,一个超会写bug的程序猿! 今天在做vue和springboot交互的一个项目的时候,想要基于前端实现一些只有登录验证之后才能访问某些页面的操作,所以在这里总结一下实现该功能的一个解决方案, 首先说一下我是如何判断是否已经登录的, 一.解决思路 由于在我的springboot后台采用的shiro+Jwt安全框架,所以会在登录之后反馈给前端一个token,并且前端

随机推荐