宝哥软件园

描述:基于php的验证码小程序

编辑:宝哥软件园 来源:互联网 时间:2021-09-06

验证码功能(个人理解):

减轻对服务器的压力(如12306的验证码功能);防止暴力注册的个人想法:生成a-z、A-Z、1-9中的n个随机数,组成新的验证码。

生成验证码的几个小函数

Range() //指定要输出数组a)的范围,如: range(1,9)array_merge()//合并数组a) array_merge(数组1,数组2.a)从数组中随机取出几个下标,返回一个数组

shuffle(array)//将再次加扰数组中的元素mt_rand(指定一个范围)//生成一个更好的随机数,比如: mt_rand(1,5) //生成一个1到5之间的任意数字来生成验证码

?php $ arr1=范围(' a ',' z ');//指定要输出数组的范围$ arr2=范围(' A ',' Z ');$ arr3=范围(1,9);$arr=array_merge($arr1,$arr2,$ arr 3);//merge array $ index=array _ rand($ arr,5);//从$arr中随机取5个数字,返回值为$arr的下标Shuffle($ index);$ code=//定义一个空字符串来存储生成的验证码,并用“点”拼接。foreach($ index as $ key=$ value){//遍历数组$code。=$ arr[$ value];//根据下标} var_dump($code)取数组中的值;运行结果截图

完美:将验证码添加到图像中是现实的

在完善之前,先介绍一下形象塑造的一般步骤

创建图像

方法1 :创建真实彩色图像(空画布)

图像创建真彩色(宽度、高度)//创建真彩色图像

解释:

宽度:画布宽度(像素)高度:画布高度(像素)返回值是图像资源

注意:

用颜色填充真彩色图像:

Imagefill(图像,x,y,颜色)//图像资源的填充颜色

解释:

Image //image resource x,y,填充坐标点(注意最接近该点的颜色由:填充)颜色;//使用什么颜色来填充分配给真彩色图像:的颜色

imagecolorallocate(图像,红色、绿色、蓝色)

解释:

Image //image resource red: //红色(0-255)或0x(00-ff) //是十六进制表示(0xff是255)绿色//绿色(0-255)蓝色//蓝色(0-255)imagefill和imagecolorallocate代码演示

画布未填充颜色时的效果

用颜色填充画布时的效果和代码

?Php//创建图像资源(空白画布)默认显示为黑色$ image=imagecreate真彩色(300,400);//1 . image//image resource///2 . red:///red color(0-255)或0x(00-ff) //用十六进制表示(0xff为255)//3 . green//green color(0-255)//4。blue//1 . image//image resource//2 . x,y,填充的坐标点(注意最接近这个点的颜色由:填充)//3 . color;//用什么颜色填充imagefill($image,0,0,$ color);//输出图像头('内容类型:图像/JPEG ');image JPEG($ image);//销毁图像资源image destroy($ image);结果截图;

输出图像(以jpeg为例)

向浏览器输出图像

a)标题(' content-type : image/JPEG ');//通过浏览设置要查看的图像

B) imagejpeg(图像资源)

按文件输出图像

A) imagejpeg(图像资源,‘图像路径’,图像质量)//质量值为0-100

注:

注意:只有jpeg格式有这个质量参数。

破坏图像

image destroy($ image);//销毁图像并释放内存资源。

请注意,如果:当前生成几个图像资源,它将销毁几个。

验证码的完整代码:

?php/是张居正:谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏谢小敏//唉呀呀呀呀呀呀呀呀呀呀呀呀呀(阿巧)$ image=imagecreatetrue color(100.50);$ color=imagecolorable($ image、mt _ rand(20.200)、mt _ rand(20.200)、mt _ rand(20.200));//我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是imagefill($image,0,0,$ color);//陈列夫$ font=5;//绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石绿宝石$arr1=范围(' a ',' z ');$arr3=范围(' a ',' z ');$arr2=范围(1.9);//数组_合并-哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟$arr=array_merge($arr1、$arr2、$ arr 3);$ index=array _ rand($ arr . 5);//吴亚玲吴亚玲5云姐$ string=';foreach($索引为$ value){//$ value永旺(音译),哎哎哎$索引张居正(音译),你好$arr何如$string(字符串)。=$ arr[$ value];//你是谁}//绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿//mt _ rand -你好-你好//echo mt _ rand(1.5);是什么?//哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟哟$ point color=imagecolor allocate($ image、mt_rand(20,200)、mt_rand(20,200)、mt_rand(20,200));//何如1000魏冄for($ I=0);1000美元;$i ) { imagesetpixel($image)、mt _ rand(0.imagesx($ image))、mt _ rand(0.imagesy($ image))、$pointcolor}//哥哥哥哥哥哥哥哥哥哥$ lint ecolor=imagecolorable($ image、mt_rand(20,200)、mt_rand(20,200)、mt_rand(20,200));//何如50魏冄for($ I=0);50美元;$i ) { imageline($image)、mt _ rand(0.imagesx($ image))、mt _ rand(0.imagesy($ image))、mt _ rand(0.imagesx($ image))、mt _ rand(0.imagesy($ image))、$lintecolor}//云娥imagefontwidth($font)//-你好-你好: strlen(-你好)//云娥*-你好-你好//阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云=是云娥*-你好-你好/$x=(朱庇特阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿宾阿明-阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云见阿云)/2 $ x=(imagesx($ image)-imagefontwidth($ font)* strlen($ string))/2;/$y=(你好-你好)/2;//你好3330 imagefontheight($ font)$ y=(imagesy($ image)-imagefontheight($ font))/2;$ string color=imagecolorray($ image、mt_rand(20,200)、mt_rand(20,200)、mt_rand(20,200));imagestring($image、$font 、$x 、$y 、$string 、$ string color );//菲兰达标头(“内容类型:图像/JPEG”);//我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊image JPEG(100美元);//阿云阿云阿云阿云阿云阿云阿云//鲁仲文鲁仲文图像破坏($ image);//你是说你是一个很好的人?你是一个很好的人,你是一个很好的人,你是一个很好的人,你是一个很好的人,你是一个很好的人,你是一个很好的人,你是一个很好的人,你是一个很好的人

吴经熊1780年

imagesetpixel(图像、x、y、颜色)

828维琪: x,y轴何钟泰呢

吴经熊1780年

imageline(图像x1、y1、x2、y2、颜色)

828维琪: x1,y1绿筠小姐;x2、y2谢赫阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉阿吉;啁啾

范思哲范思哲

imagefontheight字体霍阿巴阿巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴巴: imagefontwidth字体霍阿朱庇特: strlen(-你好)//你好imagesx(影像)//阿云娥imagesy(映像)//你好

你好

云娥(你好超文本标记语言格式绿筠小姐)

超文本标记语言格式云娥

!doctype html lang=' hearteta charset=' utf-8 ' title/title/head body form name=' frm ' method=' post ' action=' table width=' 30% ' border=' 2 ' align ' center ' rules=' to '单元格填充=' 10 ' tr colspan=' 2 '贺尔蒙页:1哎哎哎第3330/th事情把type=' text ' name=' username '/input/th/tr th是绿筠第3330/th事放类型='密码'名称='用户wd '/输入/th/tr 555556 th绿筠小姐/th this put type=' text ' name=' check code '/input img src=' http 33621。 PHP ' style=' cursor 3330指针' onclick=' this。src=' 21。PHP?数学。random()'/th/tr th colspan=' 2 '输入类型=' submit '名称=' submit '值='阿云/input/th/tr/table/表单/正文/html阿云;

(9511 .163 .com)

你好

(9512 .163 .com)

朱塞佩朱塞佩朱塞佩朱塞佩,-你好-你好-你好,吴亚玲吴亚玲吴亚玲!

更多资讯
游戏推荐
更多+