利用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日历[测试通过]
Mar 27 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
Oct 04 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
php过滤表单提交的html等危险代码
Nov 03 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
Dec 10 PHP
详谈php ip2long 出现负数的原因及解决方法
Apr 05 PHP
PHP实现的回溯算法示例
Aug 15 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
Aug 18 PHP
PHP扩展Swoole实现实时异步任务队列示例
Apr 13 PHP
laravel框架上传图片实现实时预览功能
Oct 14 PHP
Laravel 简单实现Ajax滚动加载示例
Oct 22 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在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
使用GD库生成带阴影文字的图片
2015/03/27 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
jquery 选项卡效果 新手代码
2011/07/08 Javascript
TreeView 用法(有代码)(asp.net)
2011/07/15 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
JavaScript中cookie工具函数封装的示例代码
2016/10/11 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
JavaScript惰性载入函数实例分析
2019/03/27 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
Vue事件处理原理及过程详解
2020/03/11 Javascript
python登录QQ邮箱发信的实现代码
2013/02/10 Python
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
Scrapy的简单使用教程
2017/10/24 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
python批量爬取下载抖音视频
2019/06/17 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
亚马逊印度站:Amazon.in
2017/10/15 全球购物
Omio葡萄牙:全欧洲低价大巴、火车和航班搜索和比价
2019/02/09 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
恶搞卫生巾广告词
2014/03/18 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
毕业班工作总结
2015/08/10 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python