利用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 相关文章推荐
PHP5中的时间相差8小时的解决办法
Mar 28 PHP
php将数据库中的电话号码读取出来并生成图片
Aug 31 PHP
php 分页函数multi() discuz
Jun 21 PHP
学习discuz php 引入文件的方法DISCUZ_ROOT
Jun 21 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
May 17 PHP
在项目中寻找代码的坏命名
Jul 14 PHP
PHP include任意文件或URL介绍
Apr 29 PHP
PHP也能干大事 随机函数
Apr 14 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
Laravel如何自定义command命令浅析
Mar 23 PHP
PHP反射原理与用法深入分析
Sep 28 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 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
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
浅析php静态方法与非静态方法的用法区别
2016/05/17 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
实例讲解js验证表单项是否为空的方法
2016/01/09 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
Angular2 路由问题修复详解
2017/03/01 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
nodejs实现截取上传视频中一帧作为预览图片
2017/12/10 NodeJs
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
2020/01/22 Javascript
javascript实现倒计时关闭广告
2021/02/09 Javascript
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
Python中的tuple元组详细介绍
2015/02/02 Python
Python处理Excel文件实例代码
2017/06/20 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
Django实现学生管理系统
2019/02/26 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
教师自我评价范例
2013/09/24 职场文书
作文批改评语大全
2014/04/23 职场文书
感谢信范文大全
2015/01/23 职场文书
内乡县衙导游词
2015/02/05 职场文书
国博复兴之路观后感
2015/06/02 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
评测 | 大屏显示带收音机的高端音箱,JBL TUNE2便携式插卡音箱实测
2021/04/24 无线电
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python
使用vuex-persistedstate本地存储vuex
2022/04/29 Vue.js