TP5.0框架下的think-captcha验证码扩展包

2024-02-21 06:48

本文主要是介绍TP5.0框架下的think-captcha验证码扩展包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前在进行前端登陆页面实现的过程中,用到了TP5.0自带的think-captcha验证码包,现在在这里补充上介绍和用法。

首先,如果你是TP5.05之前的版本,需要自己去下载captcha,如果想从通过命令行直接下载需要安装composer,5.05之后的版本会自带think-captcha包。

thinkphp\vendor\topthink\think-capcha

1.html中验证码的显示:

<div>{:captcha_img()}</div>


<div><img src="{:captcha_src()}" alt="captcha" /></div>

2.验证码判断

js方法:

function check_verify($code, $id = ''){$captcha = new Captcha();return $captcha->check($code, $id);
}


或直接在php中使用tp5.0封装的 captcha_check()方法来判断用户输入的验证码是否正确

3.验证码配置

config.php

通过对验证码配置的修改可以实现自定义验证码。

4.博主实现的验证码实例:

点击图片可以切换验证码:

实现验证码随机切换:

在点击img图片时,把当前验证码图片加一个随机数,从而切换成任意新的验证码图片

代码:

.html:

<div class="form-bottom"><form role="form" action="{:url('check')}" method="post" class="login-form"><div class="form-group"><label class="sr-only" for="form-username">Username</label><input type="text" name="name" placeholder="用户名/邮箱/手机号" class="form-control" id="form-username"><div class="loginerror" style="display: none;">用户名不存在</div></div><div class="form-group"><label class="sr-only" for="form-password">Password</label><input type="password" name="pass" placeholder="密码" class="form-password form-control" id="form-password"></div><div class="form-group"><label class="sr-only" for="form-password">Code</label><input type="text" name="code" placeholder="验证码" class="form-password form-control" id="form-code"><img src="{:captcha_src()}" alt="captcha" οnclick="this.src=this.src+'?'+Math.random()" style="margin: 5px;height: 50px;width: 200px;"/></div><div class="form-group"><label class="radio-inline"><input type="radio" name="r" id="r1" value="option1" checked> 用户</label><label class="radio-inline"><input type="radio" name="r" id="r2"  value="option2"> 管理员</label></div>
<!--                                 <div><label class="radio-inline"><input type="radio" name="user" id="r1" value="user" checked>用户</label><label class="radio-inline"><input type="radio" name="manager" id="r2" value="manager">管理员</label>  </div> --><button type="submit" class="btn">登陆</button><div><p id="form-p"><a href="#">忘了密码?</a> | <a href="../register/register.html">注册账号</a> | <a href="../register/test.html">意见反馈</a></p></div></form>


.php:

    public function checkCode(){$code=input('post.code');//验证码判断if(captcha_check($code)){//echo"验证码正确";//echo"<hr>";echo "<script>alert('登陆成功!!!!!!!!!!');</script>";return true;}else{echo "<script>alert('验证码错误');history.go(-1);</script>";return false;}}

 

这篇关于TP5.0框架下的think-captcha验证码扩展包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/730893

相关文章

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解