TP5 使用验证码功能
工作中后台开发使用的是 TP5,但是对语法不是很熟悉,总是看着手册写代码。当时做 Java 的时候也是这样,很多语法需要靠百度。不是不能写代码,但是这样的效率感觉不高,没有行云流水的感觉,要是能有聊天时打字的感觉就好多了。不熟悉就得多学习,但是学完经常就忘记了,所以博客就当是记录了。
TP5的验证码在 /vendor/topthink/think-captcha 目录下,文件分别是 Captcha.php 、CaptchaController.php 和 helper.php 三个文件。可以直接通过 http://localhost/项目名称/public/index.php/captcha 来进行访问。
1、在页面上显示验证码
插入一个 img 的 html 标签:
<img src="/public/index.php/captcha" alt="点击更新验证码" onclick="reloadcode(this);"/>
2、点击验证码图片时更新验证码
插入一段 js 代码:
// 刷新验证码
function reloadcode(obj) {
obj.src = '/public/index.php/captcha?id=' + Math.random();
}
3、验证码显示大小的设置
在 /application/config.php 文件的末尾增加配置如下:
'captcha' => [
'imageH' => 50,
'imageW' => 200,
],
4、判断验证码
登录时将数据提交的地址,代码如下:
<form class="form form-horizontal" action="{:url('login/check')}" method="post">
5、判断验证码
判断验证码是否正确,在提交的 Controller 中增加对应的判断代码:
public function check()
{
$data = input('post.');
if (!captcha_check($data['code'])) {
$this->error('验证码不正确');
} else {
$this->success('OK');
}
}
TP5 验证码的详细说明地址:https://www.kancloud.cn/manual/thinkphp5/154295
我的微信公众号:“码农UP2U”
TP5 使用验证码功能的更多相关文章
- dd——留言板再加验证码功能
1.找到后台-核心-频道模型-自定义表单 2.然后点击增加新的自定义表单 diyid 这个,不管他,默认就好 自定义表单名称 这个的话,比如你要加个留言板还是投诉建议?写上去呗 数据表 这个不要碰, ...
- .Net Core 之 图形验证码 本文介绍.Net Core下用第三方ZKWeb.System.Drawing实现验证码功能。
本文介绍.Net Core下用第三方ZKWeb.System.Drawing实现验证码功能. 通过测试的系统: Windows 8.1 64bit Ubuntu Server 16.04 LTS 64 ...
- c#实现验证码功能
一.验证码简介 验证码功能一般是用于防止批量注册的,不少网站为了防止用户利用机器人自动注册.登录.灌水,都采用了验证码技术.所谓验证码,就是将一串随机产生的数字或字母或符号或文字,生成一幅图片, 图片 ...
- javaweb实现验证码功能
在javaweb的用户注册与登陆功能时,有时为了防止漏洞或者大量注册,可以使用验证码功能,下面是验证码的一个简单实现 验证码类 public class ValiImg extends HttpSer ...
- 使用JS来实现验证码功能
最近想为自己的Django博客添加验证码功能,本来想使用第三方库来实现的,不过考虑到添加第三方库对性能的影响,以及第三方库是否安全可靠的问题,还是用自己的代码来实现吧.反正用JS来实现验证码功能又不是 ...
- 用PHP实现验证码功能
目前,不少网站为了防止用户利用机器人自动注册.登录.灌水,都采用了 验证码技术.所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验 ...
- ThinkPhp框架:验证码功能
Think\Verify类可以支持验证码的生成和验证功能. 为了显示这个验证码功能,第一要有控制器,再就是有方法,然后是显示的页面. 一.最简单的方式生成验证码 (1)我们还是继续在那个控制器编写方法 ...
- 纯JS实现图片验证码功能并兼容IE6-8
最近要搞一个图片验证码功能,但是又不想自己写后台代码.于是自己准备搞一个纯前端的验证码功能,于是网上搜索了一下,找到一个插件gVerify.js,简单好用,实现完美.不过后面接到说要兼容IE8,想想也 ...
- 用java来实现验证码功能(本帖为转载贴),作为个人学习收藏用
一.关于为何使用验证的解释 在目前的网页的登录.注册中经常会见到各种验证码.其目的便是为了:防止暴力破解 .因为只要CPU性能较强,便可以在慢慢尝试密码的过程中来破解用户账号,因而导致的结果是用户信 ...
随机推荐
- Generating a new SSH key
Open Git Bash. Paste the text below, substituting in your GitHub email address. $ ssh-keygen -t rsa ...
- 【mysql】Mysql5.7--sys_schema视图
前言: MySQL 5.7中引入了一个新的sys schema,sys是一个MySQL自带的系统库,在安装MySQL 5.7以后的版本,使用mysqld进行初始化时,会自动创建sys库. sys库里面 ...
- 防火墙centos7执行 service iptables status报错问题完美解决
在centos7 执行防火墙命令时 service iptables status 报错如下: 解决方案 : 1.systemctl start firewalld.service(开启防火墙) 2. ...
- 使用maven-compiler-plugin以及maven-shade-plugin完成maven项目打包
最近负责一个纯maven项目(项目需求尽量轻量化),需要自己完成打包工作. 因此,基于maven-compiler-plugin以及maven-shade-plugin完成项目的打包工作. 其中: m ...
- 使用weui开发微信小程序
一.使用weui 学习一个新的技术,想要最短时间掌握并熟练使用它,那就是直接做项目了.把技术直接应用到项目中来,直接做出东西,这是我的方法,因为我很懒不太喜欢看一步一步看文档,看理论. 那怎么使用we ...
- PHP比较两个数组的差异
array_diff($arr, $arr1); //比较数组差异 $arr = [1,2,3,4]; $arr1 = [1,2,3]; $diff = array_diff($arr, $arr1) ...
- DataGuard搭建逻辑StandBy
DataGuard搭建逻辑StandBy 原创 作者:bayaim 时间:2016-03-31 17:23:48 272 0删除编辑 物理StandBy优点是效率高,缺点是只读模式不能恢复,恢复模 ...
- 28.Java基础_抽象类
抽象类的成员特点 public abstract class Animal { private String name; private int age; public Animal() { } pu ...
- 有用的link
资料 了解oi 刘汝佳代码仓库(紫书 c++参考手册 2018年洛谷日报索引 2019年洛谷日报索引 (其他oj: luogu 虚拟判官(名校oj都有 离线bzoj题库 (有时候进不去请点:rxz大爷 ...
- C++ STL priority_queue 优先队列
优先队列: 与队列的用法是一样的,优先队列内部是通过堆来排序实现的, #include<iostream> #include <queue> using namespace s ...