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(); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
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 位数
-
老生常谈php中传统验证与thinkphp框架(必看篇)
PHP(超文本预处理器)可用于小型网站的搭建,当用户需要注册登录是,需要与后台数据库进行匹配合格才能注册和登录,传统的方式步骤繁多,需要先连接数据库再用sql语句进行插入. <?php header("Content-type: text/html; charset=utf-8"); $conn =mysqli_connect("localhost","root",""); if (!$conn){ echo "
-
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自动验证机制.分享给大家供大家参考,具体如下: array(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间]) 1.验证字段 需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如确认密码和验证码等等.有个别验证规则和字段无关的情况下,验证字段是可以随意设置的,例如expire有效期规则是和表单字段无关的. 2.验证规则 要进行验证的规则,需要结合附加规则,如果在使用正则验证的附加规则情况下,系统还内置了一些常用正则验证的
-
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
随机推荐
- ColdFusionMX 编程指南 ColdFusionMX中的循环
- js 居中漂浮广告
- js实现jquery的offset()方法实例
- 比较全的Vista破解方法
- 深入JVM剖析Java的线程堆栈
- [Perl]文字/代码批量替换工具
- php连接与操作PostgreSQL数据库的方法
- Kindeditor编辑器添加图片上传水印功能(php代码)
- Python基础入门之seed()方法的使用
- 提高NodeJS中SSL服务的性能
- 用javascript实现画图效果的代码
- sqlserver2008 拆分字符串
- 纯JS实现轮播图
- jquery做的一个简单的屏幕锁定提示框
- js实现类似新浪微博首页内容渐显效果的方法
- 为Nginx添加mp4流媒体支持
- java 获取服务器真实IP的实例
- webpack学习教程之前端性能优化总结
- python机器学习之神经网络(三)
- .net Core连接MongoDB数据库的步骤详解