文档章节

PHP运用GD库实现一个简单的验证码

雨醉风尘
 雨醉风尘
发布于 2015/08/18 16:29
字数 183
阅读 316
收藏 3
<?php
$img=imagecreatetruecolor(100, 40);
$red=imagecolorallocate($img, 255, 0, 0);
$green=imagecolorallocate($img, 0, 255, 0);
$blue=imagecolorallocate($img, 0, 0, 255);
$white=imagecolorallocate($img, 255, 255, 255);
$black=imagecolorallocate($img, 0, 0, 0);
//生成图片
imagefill($img, 0, 0, $black);
//设置验证码
$code="";
for($i=0;$i<5;$i++){
$code.=rand(0,9);
}
//验证码写到图片中
imagestring($img, 5, 20, 15, $code, $white);
//加点儿干扰
for($i=0;$i<10;$i++){
imagesetpixel($img, rand(0,100), rand(0,40), $red);
imagesetpixel($img, rand(0,100), rand(0,40), $green);
imagesetpixel($img, rand(0,100), rand(0,40), $blue);
}
//再加点儿干扰
for($i=0;$i<1;$i++){
imageline($img, rand(0,50), rand(0,20), rand(50,100), rand(20,40), $red);
imageline($img, rand(0,50), rand(0,20), rand(50,100), rand(20,40), $green);
imageline($img, rand(0,50), rand(0,20), rand(50,100), rand(20,40), $blue);
}
header("Content-type:image/png");
imagepng($img);
imagedestroy($img);
?>


© 著作权归作者所有

共有 人打赏支持
雨醉风尘
粉丝 3
博文 106
码字总数 23692
作品 0
海淀
程序员
【代码实现】PHP生成各种随机验证码

文章来源:PHP开发学习门户 (自行开发的个人网站) 验证码在WEB应用中非常重要,通常用来防止用户恶意提交表单,如恶意注册和登录、论坛恶意灌水等。本文将通过实例讲解使用PHP生成各种常见...

PHP开发学习门户
2014/10/07
0
0
PHP制作数字、字母型验证码及其工作原理剖析

准备: 使用PHP生成验证码图片,需要PHP的GD模块,GD扩展库用于处理图像。所以先去检查你的服务器使用的PHP版本是否开启GD模块,你可以使用PHP内置函数phpinfo()去检查,至于如何去做就不在这...

小飞侠_Kobe
2016/09/29
82
0
yxcms后台验证码不显示?怎么取消yxcms后台验证码

嗨,大家好,我是YXCMS的小M老湿,(其实还是习惯大家叫我猪猪吧!)今天又要分享一则yxcms的使用技巧,当然也是yxcms用户在使用过程中很容易出现的小白问题,当然还是同样,yxcms的大神级别...

马浩周
2016/12/28
24
0
yxcms后台验证码不显示?怎么取消yxcms后台验证码

嗨,大家好,我是YXCMS的小M老湿,(其实还是习惯大家叫我猪猪吧!)今天又要分享一则yxcms的使用技巧,当然也是yxcms用户在使用过程中很容易出现的小白问题,当然还是同样,yxcms的大神级别...

马浩周
2016/12/09
18
0
php生成图形验证码的几种方法

生成图形验证码需要使用php GD库来生成,如果你没开户GD库我们需要在php.ini文件找到extension=php_gd2.dll 去掉前面的;就行了,然后重启apache 或iis环境即可 我们先来检查一下自己的php是不...

mysoftsky
2013/08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java Lock接口分析之ReentantReadWriteLock

ReentantReadWriteLock读写锁,在读线程多余写线程的并发环境中能体现出优异的性能,相比于synchronized与ReentrantLock这种独占式锁的模型,ReentantReadWriteLock采用独占式写锁与共享式读...

我爱春天的毛毛雨
18分钟前
0
0
EFK (Fluentd ElasticSearch Kibana) 采集nginx日志

本文描述如何通过FEK组合集中化nginx的访问日志。本人更喜欢按顺序来命名,所以使用FEK而不是EFK. 首先在nginx服务器上执行以下操作. 安装ruby http://blog.csdn.net/chenhaifeng2016/artic...

xiaomin0322
20分钟前
0
0
一键下载:将知乎专栏导出成电子书

老是有同学问,学了 Python 基础后不知道可以做点什么来提高。今天就再用个小例子,给大家讲讲,通过 Python 和爬虫,可以完成怎样的小工具。 在知乎上,你一定关注了一些不错的专栏(比如 ...

crossin
29分钟前
1
0
synchronized 之 对象锁 和 类锁

一、synchronized(object) 如果object没有被加锁,则获取object的锁;如果object已经被加锁则等待object的锁被释放。 二、需要加锁的情景 多线程共享同一资源会引起线程安全的情况下,才需要...

MyOldTime
30分钟前
6
0
tomcat 单机/多机 部署多应用

一.单机部署多应用: 1.在 linux 下解压安装两个 tomcat:tomcat1, tomcat2; 2.修改 /etc/profile, 增加 tomcat 环境变量: path 中加上 重新加载配置文件 source /etc/profile 3.修改 tomc...

imbiao
41分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部