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 简单数组排序实现代码
Aug 05 PHP
php 调用远程url的六种方法小结
Nov 02 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
Aug 11 PHP
php简单的留言板与回复功能具体实现
Feb 19 PHP
smarty缓存用法分析
Dec 16 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
Apr 08 PHP
PHP封装函数实现生成随机的字符串验证码
Jan 24 PHP
PHP的PDO连接讲解
Jan 24 PHP
针对PHP开发安全问题的相关总结
Mar 22 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
Mar 18 PHP
thinkphp 框架数据库切换实现方法分析
May 18 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 编写安全的代码时容易犯的错误小结
2010/05/20 PHP
PHP中strtotime函数使用方法详解
2011/11/27 PHP
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
php有道翻译api调用方法实例
2014/12/22 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
2014/12/24 PHP
PHP dirname(__FILE__)原理及用法解析
2020/10/28 PHP
客户端脚本中常常出现的一些问题和调试技巧
2007/01/09 Javascript
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
Vue通过input筛选数据
2020/10/26 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
python数据预处理之将类别数据转换为数值的方法
2017/07/05 Python
python框架中flask知识点总结
2018/08/17 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
python绘制汉诺塔
2021/03/01 Python
英国领先的男士美容护发用品公司:Mankind
2016/08/31 全球购物
软件测试英文面试题
2012/10/14 面试题
党政领导班子民主生活会整改措施
2014/09/18 职场文书
2014年实习期工作总结
2014/11/27 职场文书
2015元旦节寄语
2014/12/08 职场文书
北京故宫导游词
2015/01/31 职场文书
无房证明样本
2015/06/17 职场文书
外出学习心得体会范文
2016/01/18 职场文书
转变工作作风心得体会
2016/01/23 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技