PHP登录验证码的实现与使用方法


Posted in PHP onJuly 07, 2016

本文实例讲述了PHP登录验证码的实现与使用方法。分享给大家供大家参考,具体如下:

1. 新建code.php验证码生成文件

在此之前必须打开php的GD库,修改php.ini文件的配置,取消extension=php_gd2.dll前面的分号。代码如下:

<?php
session_start();
//生成验证码图片
Header("Content-type: image/PNG");
$im = imagecreate(44,18);
$back = ImageColorAllocate($im, 245,245,245);
imagefill($im,0,0,$back); //背景
srand((double)microtime()*1000000);
//生成4位数字
for($i=0;$i<4;$i++){
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255));
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 5, 2+$i*10, 1, $authnum, $font);
}
for($i=0;$i<100;$i++) //加入干扰象素
{
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()p , rand()0 , $randcolor);
}
ImagePNG($im);
ImageDestroy($im);
$_SESSION['Checknum'] = $vcodes;
?>

2. 显示验证码图片

在需要显示验证码的页面中加入

<input type="text" name="passcode" >
<img src="code.php">

3.判断并获取验证码的值

验证码是通过第一步骤代码中的$_SESSION['Checknum'] = $vcodes;赋的值,所以验证码的值存在$_SESSION['Checknum']当中。在验证页面,使用以下代码,

...
session_start();//启动会话
$code=$_POST["passcode"];
if( $code == $_SESSION["Checknum"])
{
...
}

即可完成验证码登录。

运行截图如下:

PHP登录验证码的实现与使用方法

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php IP及IP段进行访问限制的代码
Dec 17 PHP
在PHP中养成7个面向对象的好习惯
Jan 28 PHP
php中配置文件操作 如config.php文件的读取修改等操作
Jul 07 PHP
php顺序查找和二分查找示例
Mar 27 PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 PHP
laravel容器延迟加载以及auth扩展详解
Mar 02 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
php接口技术实例详解
Dec 07 PHP
PHP中Trait及其应用详解
Feb 14 PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
Sep 30 PHP
PHP常见的6个错误提示及解决方法
Jul 07 #PHP
php生成mysql的数据字典
Jul 07 #PHP
php自定义函数实现JS的escape的方法示例
Jul 07 #PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 #PHP
PHP使用自定义方法实现数组合并示例
Jul 07 #PHP
PHP记录和读取JSON格式日志文件
Jul 07 #PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
Jul 07 #PHP
You might like
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
因str_replace导致的注入问题总结
2019/08/08 PHP
dess中一个简单的多路委托的实现
2010/07/20 Javascript
Javascript倒计时代码
2010/08/12 Javascript
jQuery之浮动窗口实现代码(两种方法)
2010/09/08 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
javascript基本包装类型介绍
2015/04/10 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
2016/09/14 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&amp;”)
2016/12/23 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
[03:28]2014DOTA2国际邀请赛 EG战队官方纪录片
2014/07/21 DOTA
安装dbus-python的简要教程
2015/05/05 Python
Python+matplotlib实现填充螺旋实例
2018/01/15 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
创业大赛策划书
2014/03/01 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
离婚协议书标准格式
2014/10/04 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
施工安全保证书
2015/05/09 职场文书
2016教师暑期培训学习心得体会
2016/01/09 职场文书
Python虚拟环境virtualenv是如何使用的
2021/06/20 Python
Vue+Flask实现图片传输功能
2022/04/01 Vue.js
公历12个月名称的由来
2022/04/12 杂记
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server