ThinkPHP实现生成和校验验证码功能
使用ThinkPHP实现生成/校验验证码功能,供大家参考,具体内容如下
首先了解父类Verity.class.php(ThinkPHP/Library/Think/Verity.class.php)中的一些函数
1:check() 校验验证码是否正确
2:entry()输出验证码并把验证码的值保存的session中
3:authcode() 加密验证码(此方法在check()方法中被调用)
控制器生成验证码代码:
//验证码
function verifyImg(){
//验证码配置
$cfg = array(
'imageH' => 30, // 验证码图片高度
'imageW' => 100, // 验证码图片宽度
'fontSize' => 15, // 验证码字体大小(px)
'length' => 4, // 验证码位数
'fontttf' => '4.ttf', // 验证码字体,不设置随机获取
);
//实例化Verify类 自动调用构造函数,把$cfg信息传给$config
$verify = new Verify($cfg);
$verify -> entry(); //输出验证码
}
前台显示验证码
<!--分组/控制器/方法--> <img src="<{$smarty.const.__CONTROLLER__}>/verifyImg" onclick = "this.src='<{$smarty.const.__CONTROLLER__}>/verifyImg/'+Math.random()" alt="验证码" />
控制器校验验证码(以登陆为例)
//登陆
function login(){
//两个逻辑:展示,收集
if (!empty($_POST)) {
$verify = new Verify();
//接收验证码
$captcha = $_POST['captcha'];
//check()方法校验验证码
if ($verify->check($captcha)) {
echo "正确";
}else{
echo "错误";
}
}
//调用view视图
$this->display();
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
老生常谈php中传统验证与thinkphp框架(必看篇)
PHP(超文本预处理器)可用于小型网站的搭建,当用户需要注册登录是,需要与后台数据库进行匹配合格才能注册和登录,传统的方式步骤繁多,需要先连接数据库再用sql语句进行插入. <?php header("Content-type: text/html; charset=utf-8"); $conn =mysqli_connect("localhost","root",""); if (!$conn){ echo "
-
thinkPHP自动验证机制详解
本文实例讲述了thinkPHP自动验证机制.分享给大家供大家参考,具体如下: array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间]) 1.验证字段 需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如确认密码和验证码等等.有个别验证规则和字段无关的情况下,验证字段是可以随意设置的,例如expire有效期规则是和表单字段无关的. 2.验证规则 要进行验证的规则,需要结合附加规则,如果在使用正则验证的附加规则情况下,系统还内置了一些常用正则验证的
-
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
动态验证:(不需要建Model模型) 1.建一个控制器,做表单操作(包含验证) <?php namespace Biaodan\Controller; use Think\Controller; class BiaodanController extends Controller { public function test() { if(empty($_POST))//如果$_POST空,显示添加页面, { $this->show(); } else //如果$_POST不为空,走验证,验证
-
thinkPHP实现表单自动验证
昨天晚上我们老大叫我弄表单自动验证功能,愁了半天借鉴了好多官网的知识,才出来,诶,总之分享一下我自己的成果吧! thinkphp 在Model基类为我们定义了自动验证的函数和正则表达式,我们只需要在对应的数据库表的模型类下建立$_validate属性就可以了. 1.我们找到Model基类,可以看到 protected $_validate = array(); // 自动验证定,它是数组类型的,下面在对应数据模型文件定义它: 2. 复制代码 代码如下: public functio
-
ThinkPHP表单自动提交验证实例教程
本文以实例讲述了ThinkPHP表单自动提交验证的实现过程,详细步骤如下所示: 一.模板部分: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <TITL
-
thinkPHP中验证码的简单实现方法
本文实例讲述了thinkPHP中验证码的简单实现方法.分享给大家供大家参考,具体如下: 运行效果图如下: 1.php端生成验证码函数 public function verify(){ // 验证码 import("@.Util.Image"); Image::buildImageVerify(4,1,'png',40,20,'verify'); } /** * 生成图像验证码 * @static * @access public * @param string $length 位数
-
ThinkPHP实现生成和校验验证码功能
使用ThinkPHP实现生成/校验验证码功能,供大家参考,具体内容如下 首先了解父类Verity.class.php(ThinkPHP/Library/Think/Verity.class.php)中的一些函数 1:check() 校验验证码是否正确 2:entry()输出验证码并把验证码的值保存的session中 3:authcode() 加密验证码(此方法在check()方法中被调用) 控制器生成验证码代码: //验证码 function verifyImg(){ //验证码配置 $cfg
-
php/JS实现的生成随机密码(验证码)功能示例
本文实例讲述了php/JS实现的生成随机密码(验证码)功能.分享给大家供大家参考,具体如下: PHP写法: //A-Z a-z 0-9 !#$%^&* $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%^&*"; //生成随机字符 function createPwd($str,$len){ $pwd = ''; $strlen = strlen($str); for($i
-
ASP.NET实现的生成验证码功能示例【附demo源码】
本文实例讲述了ASP.NET实现的生成验证码功能.分享给大家供大家参考,具体如下: 生成验证码原理:产生随机字符,并将字符生成为图片,同时储存到Session里去,然后验证用户输入的内容是否与Session中的验证码相符即可. 效果图:用户可以点击切换验证码信息. 一般处理程序:CheckCodeHandler.cs <%@ WebHandler Language="C#" Class="CheckCodeHandler" %> using System
-
PHP实现生成带背景的图形验证码功能
本文实例讲述了PHP实现生成带背景的图形验证码功能.分享给大家供大家参考,具体如下: 以前我们利用php生成的都是无背景或同一色彩背景的验证码了,但这种验证容易给机器识别了,这里就来介绍一些生成带背景的图形验证码实例. 1.产生一张png的图片, 2.为图片设置背景色, 3.设置字体颜色和样式, 4.产生4位数的随机的验证码, 5.把产生的每个字符调整旋转角度和位置画到png图片上, 6.加入噪点和干扰线防止注册机器分析原图片来恶意注册, 7.输出图片, 8.释放图片所占内存 authcode.
-
Java生成验证码功能实例代码
页面上输入验证码是比较常见的一个功能,实现起来也很简单.给大家写一个简单的生成验证码的示例程序,需要的朋友可以借鉴一下. 闲话少续,直接上代码.代码中的注释很详细. package com.SM_test.utils; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import ja
-
Python实现简单生成验证码功能【基于random模块】
本文实例讲述了Python实现简单生成验证码功能.分享给大家供大家参考,具体如下: 验证码一般用来验证登陆.交易等行为,减少对端为机器操作的概率,python中可以使用random模块,char()内置函数来实现一个简单的验证码功能. import random def veri_code(): li = [] for i in range(6): #循环6次,生成6个字符 r = random.randrange(0, 5) #随机生成0-4之间的数字 if r == 1 or r == 4:
-
thinkPHP框架实现的短信接口验证码功能示例
本文实例讲述了thinkPHP框架实现的短信接口验证码功能.分享给大家供大家参考,具体如下: 我用的是一款名叫 短信宝 的应用,新注册的用户可以免费3条测试短信,发现一个BUG,同个手机可以无限注册,自己玩玩还是可以的. 里面的短信接口代码什么信息都没有,感觉看得不是很明白,自己测试了一遍,可以用,直接调用就可以的,如果要用到项目中还有很多细节要处理,比如 设置一个验证码的存活时间,还有点击按钮每隔一分钟才能按一次,还有判断这个用户发的短信另一个用户能不能用,以后有时间再接下去做,现在先来个简易
-
基于JS实现一个随机生成验证码功能
效果展示 实现原理 1. html:一般就是一个div: <div id="code"></div> ,样式根据需求设计. 2. JS:1)将所有的验证码所用的字符放在一个字符串中 2)在这个字符串的字符个数以内,随机生成索引号 3)根据索引号查找对应字符,拼接成验证码的字符串 代码实现 HTML: <div id="code"></div> CSS: * { margin: 0; padding: 0; } div
-
SpringBoot实现前端验证码图片生成和校验
SpringBoot下实现前端验证码图片的生成和校验,供大家参考,具体内容如下 1.效果 点击验证码可以获取新的验证码 2.原理 后台生成验证码图片,将图片传到前台. 后台在session中保存验证码内容. 前台输入验证码后传到后台在后台取出session中保存的验证码进行校验. 注意,验证码的明文是不能传送到前端的.前端内容都是透明的,不安全.验证码是用来防机器人并不是单单防人.如果把验证码明文传到前端很容易就会被破解. 3.图片生成 验证码生成工具类RandomValidateCodeUti
-
springboot整合kaptcha生成验证码功能
介绍:kaptcha 是谷歌开源的非常实用的验证码生成工具 一.导入jar包 <!-- kaptcha验证码 --> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> </dependency> 二.编写kaptcha配置类 pack
随机推荐
- Angularjs全局变量被作用域监听的正确姿势
- SpringMVC表单标签知识点详解
- 浅谈ASP.Net Core WebApi几种版本控制对比
- 用pywin32实现windows模拟鼠标及键盘动作
- 删除SVN三种方法delSvn(windows+linux)
- js/jquery解析json和数组格式的方法详解
- ThinkPHP分组下自定义标签库实例
- Android利用动画实现背景逐渐变暗
- nodejs实现bigpipe异步加载页面方案
- Linux系统中bash shell编程的10个基础问题讲解
- 11种ASP连接数据库的方法
- jQuery基本选择器(实例及表单域value的获取方法)
- 通过javascript设置css属性的代码
- 探讨C语言中关键字volatile的含义
- Java中for循环的执行过程分析
- Android RecyclerView实现下拉列表功能
- C++ 中 socket编程实例详解
- php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
- 学习笔记-冲突域,冲突,广播域,广播
- springboot Quartz动态修改cron表达式的方法
