验证码是随机产生的数字和符号,动态天生的一幅图,或者在图片上加上一些滋扰信息。验证码一样平常在表单提交时利用(网站用户注册、登录、论坛发帖时),只有审核成功后才能利用某项功能。验证码可以防止机器恶意注册从而避免严重耗费系统资源,降落网站性能影响正常的用户体验。其余验证码可以确保当前访问者是一个人而非机器。本日问大家先容一下php用类实现验证码验证。
第一步:用类设计验证码
1、首先要声明一个类,并通过面向工具的特色把实现验证码的细节封装在这个类中。我们要创建一个宽度60像素,高度为20像素,四个数字组成。

声明类的名称是Validationcode,设置了验证码的宽度($width)、高度($height;)、个数($codeNum)、验证码字符($checkCode)、画布($image),并把成员属性width、height、codeNum、checkCode初始化,设置验证码个数是4。
2、创建向浏览器输出图像的方法showImage(),并调用内部getCreateImage()方法创建画布,outputText()方法调用随机字符串,outputImage()方法天生图像并输出。 getcheckCode()访问该方法获取随机创建的验证码字符串。getCreateImage ()该方法是创建图像,初始化背景。代码如下图:
3、通过 createCheckCode()方法天生四个数字字符串,$rand_number=rand(48,57)表示天生数字。通过for循环实现天生4个数字字符串。outputText()方法是随机颜色、随机摆放、随机字符串向图像输出。代码如下图:
4、outputImage()方法自动检测PHP中GD支持的图像类型,并输出图像,通过if..elseif..else语句来判断天生的GIF、JPG、PNG、WBMP格式图像是否存在,如果没有支持的图像类型,会输出错误并推出程序。__destruct()方法是工具结束之前销毁图像资源开释内存。代码如下:
第二步:验证码类的实例工具
创建验证码类的工具,从验证码工具中获取天生验证码图片,发送到浏览器中。接着从验证码工具获取字符串,利用session保留字符串在做事器中。session_start();开启SESSION,$image=new Validationcode(60,20,4);创建验证码类的工具,$image->showImage();调用方法向浏览器发送图片,$_SESSION['validationcade']=$image->getcheckCode();把字符串保留在做事器中。代码如下:
第三步:表单验证
包括用户输入表单和匹配验证码部分。在表单中输出动态获取的验证码图片,单击重新动态获取另一张验证码图片(通过js函数和单击事宜完成)。客户端接管的验证和做事器上保留的验证码相同,则提示成功,否则会提示缺点。代码如下:
运行结果如下
末了给大家留一个作业,还可以加上验证码图像滋扰和数字字母结合的功能,感兴趣的读者可以自己试试,要上面源码私我!
关于“php用类实现验证码功能”先聊到这。每天学习一个知识点,逐日寄语”只要本日的你优于昨天的你,便是最大的成功”如转载请标注出处。