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解答方法
Feb 04 PHP
php操作mysqli(示例代码)
Oct 28 PHP
PHP输出缓存ob系列函数详解
Mar 11 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
Jul 03 PHP
php精确的统计在线人数的方法
Oct 21 PHP
php验证手机号码
Nov 11 PHP
微信开发之网页授权获取用户信息(二)
Jan 08 PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 PHP
PHP join()函数用法与实例讲解
Mar 11 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
Sep 08 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 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可逆加密解密算法实例代码
2014/01/21 PHP
PHP内置的Math函数效率测试
2014/12/01 PHP
深入理解php printf() 输出格式化的字符串
2016/05/23 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
jquery给图片添加鼠标经过时的边框效果
2013/11/12 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
2015/09/09 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
2015/09/30 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
聊聊JS动画库 Velocity.js的使用
2018/03/13 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
Python中的并发编程实例
2014/07/07 Python
简单谈谈python中的多进程
2016/11/06 Python
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
python将邻接矩阵输出成图的实现
2019/11/21 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
如何通过python实现全排列
2020/02/11 Python
python多维数组分位数的求取方式
2020/03/03 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
python识别验证码的思路及解决方案
2020/09/13 Python
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
英文翻译的自我评价语句
2013/10/04 职场文书
四年的大学生生活自我评价
2013/12/09 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
如何理解python接口自动化之logging日志模块
2021/06/15 Python
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫