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 相关文章推荐
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
Mar 11 PHP
注意:php5.4删除了session_unregister函数
Aug 05 PHP
php过滤XSS攻击的函数
Nov 12 PHP
php实现图片缩放功能类
Dec 18 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
nginx+thinkphp下解决不支持pathinfo模式
Jul 01 PHP
PHP处理Ajax请求与Ajax跨域问题
Feb 13 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 PHP
PHP根据key删除数组中指定的元素
Feb 28 PHP
wordpress自定义标签云与随机获取标签的方法详解
Mar 22 PHP
PHP+MySql实现一个简单的留言板
Jul 19 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伪静态页面函数附使用方法
2008/06/20 PHP
深入解析php之apc
2013/05/15 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
thinkphp实现上一篇与下一篇的方法
2014/12/08 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
Javascript解决常见浏览器兼容问题的12种方法
2010/01/04 Javascript
ExtJS TabPanel beforeremove beforeclose使用说明
2010/03/31 Javascript
ie支持function.bind()方法实现代码
2012/12/27 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
浅析为什么a=&quot;abc&quot; 不等于 a=new String(&quot;abc&quot;)
2017/10/25 Javascript
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
JavaScript+H5实现微信摇一摇功能
2018/05/23 Javascript
详解Vue This$Store总结
2018/12/17 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
Python+Opencv识别两张相似图片
2020/03/23 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
Python docx库用法示例分析
2019/02/16 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
tensorflow多维张量计算实例
2020/02/11 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
2020/03/14 Python
Python 爬虫性能相关总结
2020/08/03 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
python3定位并识别图片验证码实现自动登录功能
2021/01/29 Python
大学生毕业自我鉴定
2013/11/06 职场文书
业务员薪酬管理制度
2014/01/15 职场文书
酒店端午节促销方案
2014/02/18 职场文书
《珍珠泉》教学反思
2014/02/20 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers