利用PHP绘图函数实现简单验证码功能的方法


Posted in PHP onOctober 18, 2016

index.php

<?php
//===================================》》使用绘图技术绘制验证码

//1.随机产生4个随机数
$checkCode="";
for ($i=0;$i<4;$i++){
$checkCode.=dechex(rand(1, 15));// decheck()十进制转换为十六进制,即验证码上要显示的数字
}

//2.存入列
session_start();
$_SESSION['checkCode']=$checkCode;

//3.创建画布
$image1=imagecreatetruecolor(100, 30);

//制造干扰,创建20条弧线
for ($j=0;$j<30;$j++){
imagearc($image1, rand(0, 100), rand(0, 30), rand(0, 100), rand(0, 30), rand(0, 360), rand(0, 360), imagecolorallocate($image1, rand(0, 155), rand(0, 255), rand(0, 255)));
}

//3.创建字体颜色,将字粘贴上去
$white=imagecolorallocate($image1, 255, 255, 255);
imagestring($image1, rand(2, 5), rand(5, 70), rand(2, 15), $checkCode, $white);

//5.输出图像或保存
header("content-type:image/png");
imagepng($image1);

//6.释放资源
imagedestroy($image1);

login.php

请输入验证码:<img src="index.php" onclick="this.src='index.php?a=+random()'">

以上就是小编为大家带来的利用PHP绘图函数实现简单验证码功能的方法全部内容了,希望大家多多支持三水点靠木~

PHP 相关文章推荐
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 PHP
浅析php原型模式
Nov 25 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
Mar 18 PHP
php+ajax实现无刷新动态加载数据技术
Apr 28 PHP
PHP超牛逼无限极分类生成树方法
May 11 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
May 27 PHP
PHP实现无限分类的实现方法
Nov 14 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
Oct 17 PHP
PHP生成推广海报的方法分享
Apr 22 PHP
php实现的rc4加密解密类定义与用法示例
Aug 16 PHP
Yii针对添加行的增删改查操作示例
Oct 18 #PHP
Yii遍历行下每列数据的方法
Oct 17 #PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 #PHP
php实现跨域提交form表单的方法【2种方法】
Oct 17 #PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 #PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 #PHP
php排序算法实例分析
Oct 17 #PHP
You might like
PHP+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
thinkphp中空模板与空模块的用法实例
2014/11/26 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
2016/03/06 PHP
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
js创建表单元素并使用submit进行提交
2014/08/14 Javascript
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
2016/04/18 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
微信小程序开发的基本流程步骤
2019/01/31 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
[44:51]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第二场
2018/04/05 DOTA
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
Python 修改列表中的元素方法
2018/06/26 Python
windows上安装python3教程以及环境变量配置详解
2019/07/18 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
python字符串的拼接方法总结
2019/11/18 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
电信专业毕业生推荐信
2013/11/18 职场文书
社团活动策划书范文
2014/01/09 职场文书
医务工作者先进事迹材料
2014/01/26 职场文书
学生干部学习的自我评价
2014/02/18 职场文书
八达岭长城导游词
2015/01/30 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书