php生成4位数字验证码的实现代码


Posted in PHP onNovember 23, 2015

在php中实现验证码还是很方便的,关键点在于掌握php gd库与session的用法。

纵观网上php 生成验证码的例子,无不是php gd库与session相结合,并利用php 生成随机数的方法来完成。

PHP验证码,可以分为很多种,包括 php 图片验证码,php 随机验证码,以及php 中文验证码等,根据不同的应用场合来使用不同的验证码。

这里分享一个php数字验证码,供大家参考。

4位数字验证码

/*
*Filename:authpage.php
*/ 
session_start(); 
//srand((double)microtime()*1000000); 
$authnum=$_SESSION['authnum']; 
//验证用户输入是否和验证码一致 
if(isset($_POST['authinput'])) 
{ 
if(strcmp($_POST['authinput'],$_SESSION['authnum'])==0) 
echo"验证成功!"; 
else 
echo"验证失败!"; 
} 
  
  
//生成新的四位整数验证码 
  
  
//while(($authnum=rand()%10000)<1000); 
?> 
<formaction=test4.phpmethod=post> 
<table> 
请输入验证码:<inputtype=textname=authinputstyle="width:80px"><br> 
<inputtype=submitname="验证"value="提交验证码"> 
<inputtype=hiddenname=authnumvalue=<?echo$authnum;?>> 
<imgsrc=authimg.php?authnum=<?echo$authnum;?>> 
</table> 
</form>

authimg.php

<?php 
//生成验证码图片 
Header("Content-type:image/PNG"); 
srand((double)microtime()*1000000);//播下一个生成随机数字的种子,以方便下面随机数生成的使用 
  
session_start();//将随机数存入session中 
$_SESSION['authnum']=""; 
$im=imagecreate(62,20);//制定图片背景大小 
  
$black=ImageColorAllocate($im,0,0,0);//设定三种颜色 
$white=ImageColorAllocate($im,255,255,255); 
$gray=ImageColorAllocate($im,200,200,200); 
  
imagefill($im,0,0,$gray);//采用区域填充法,设定(0,0) 
  
while(($authnum=rand()%100000)<10000); 
//将四位整数验证码绘入图片 
$_SESSION['authnum']=$authnum; 
imagestring($im,5,10,3,$authnum,$black); 
//用col颜色将字符串s画到image所代表的图像的x,y座标处(图像的左上角为0,0)。 
//如果font是1,2,3,4或5,则使用内置字体 
  
for($i=0;$i<200;$i++)//加入干扰象素 
{ 
$randcolor=ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); 
imagesetpixel($im,rand()%70,rand()%30,$randcolor); 
} 
ImagePNG($im); 
ImageDestroy($im); 
?>

以上就是php生成4位数字验证码的实现代码,希望对大家的学习有所帮助,大家能够更加熟练地掌握php验证码的操作。

PHP 相关文章推荐
编写PHP的安全策略
Oct 09 PHP
基于PHP与XML的PDF文档生成技术
Oct 09 PHP
IP138 IP地址查询小偷实现代码
Feb 15 PHP
php 字符串函数收集
Mar 29 PHP
利用curl抓取远程页面内容的示例代码
Jul 23 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
20个2014年最优秀的PHP框架回顾
Oct 22 PHP
php中数据库连接方式pdo和mysqli对比分析
Feb 25 PHP
Yii中实现处理前后台登录的新方法
Dec 28 PHP
PHP简单判断字符串是否包含另一个字符串的方法
Mar 25 PHP
Laravel开启跨域请求的方法
Oct 13 PHP
laravel使用redis队列实例讲解
Mar 23 PHP
3种php生成唯一id的方法
Nov 23 #PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
Nov 23 #PHP
PHP语法小结之基础和变量
Nov 22 #PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 #PHP
PHP中使用array函数新建一个数组
Nov 19 #PHP
PHP新建类问题分析及解决思路
Nov 19 #PHP
php有效防止同一用户多次登录
Nov 19 #PHP
You might like
简单的页面缓冲技术
2006/10/09 PHP
php 删除记录实现代码
2009/03/12 PHP
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
IE和Firefox下event事件杂谈
2009/12/18 Javascript
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
2012/10/11 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
2015/06/19 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
基于Flowplayer打造一款免费的WEB视频播放器附源码
2015/09/06 Javascript
js实现精确到秒的日期选择器完整实例
2016/04/30 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
vue 微信授权登录解决方案
2018/04/10 Javascript
Vue二次封装axios为插件使用详解
2018/05/21 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
详解python深浅拷贝区别
2019/06/24 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
大学生职业生涯规划书范文
2014/01/04 职场文书
出国留学介绍信
2014/01/13 职场文书
酒店总经理欢迎词
2014/01/15 职场文书
实习鉴定评语
2014/01/19 职场文书
艺术设计专业个人求职信
2014/04/10 职场文书
党员志愿者活动总结
2014/06/26 职场文书
欢迎领导标语
2014/06/27 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python
JS Canvas接口和动画效果大全
2021/04/29 Javascript
background-position百分比原理详解
2021/05/08 HTML / CSS
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android