利用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 file_exists问题杂谈
May 07 PHP
PHP使用xmllint命令处理xml与html的方法
Dec 15 PHP
PHP strtotime函数用法、实现原理和源码分析
Feb 04 PHP
PHP的Yii框架入门使用教程
Feb 15 PHP
实例讲解php数据访问
May 09 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
Feb 04 PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
php表单处理操作
Nov 16 PHP
PHP基于面向对象实现的留言本功能实例
Apr 04 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 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数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
angular+ionic 的app上拉加载更新数据实现方法
2017/01/16 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
2018/04/28 Javascript
Vue项目环境搭建详细总结
2019/09/26 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
python中模块查找的原理与方法详解
2017/08/11 Python
小白入门篇使用Python搭建点击率预估模型
2018/10/12 Python
对python中的iter()函数与next()函数详解
2018/10/18 Python
Python中作用域的深入讲解
2018/12/10 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
python实现二维插值的三维显示
2018/12/17 Python
使用pip安装python库的多种方式
2019/07/31 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
请编程遍历页面上所有 TextBox 控件并给它赋值为 string.Empty
2015/12/03 面试题
一套Delphi的笔试题二
2013/05/11 面试题
新闻记者实习自我鉴定
2013/09/19 职场文书
教育孩子心得体会
2014/01/01 职场文书
活动总结模板
2014/05/09 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
在Docker容器中部署SQL Server
2022/04/11 Servers