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 相关文章推荐
默默简单的写了一个模板引擎
Jan 02 PHP
php adodb连接不同数据库
Mar 19 PHP
PHP技术开发技巧分享
Mar 23 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
Jun 17 PHP
php 在windows下配置虚拟目录的方法介绍
Jun 26 PHP
体育彩票排列三组选三算法分享
Mar 07 PHP
PHP反向代理类代码
Aug 15 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
php5.3后静态绑定用法详解
Nov 11 PHP
YII分模块加载路由的实现方法
Oct 01 PHP
Swoole扩展的6种模式深入详解
Mar 04 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
Adodb的十个实例(清晰版)
2006/12/31 PHP
让PHP以ROOT权限执行系统命令的方法
2011/02/10 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
PHP实现图片自动清理的方法
2015/07/08 PHP
php限制文件下载速度的代码
2015/10/20 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
纯JAVASCRIPT图表动画插件Highcharts Examples
2011/04/16 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
学习JavaScript设计模式(继承)
2015/11/26 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
js计算两个日期间的天数月的实例代码
2018/09/20 Javascript
微信小程序实现签到功能
2018/10/31 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
python利用hook技术破解https的实例代码
2013/03/25 Python
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
2018/02/13 Python
django之使用celery-把耗时程序放到celery里面执行的方法
2019/07/12 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
2020/02/27 Python
生产部主管岗位职责
2014/01/06 职场文书
校园摄影活动策划方案
2014/02/05 职场文书
职业培训师职业生涯规划
2014/02/18 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
投标承诺函格式
2015/01/21 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
2022/08/05 Servers