php生成纯数字、字母数字、图片、纯汉字的随机数验证码

时间:2024-08-20 12:35:50

  现在讲开始通过PHP生成各种验证码旅途,新手要开车了,请刷卡!

首先,我们开始先生成一个放验证码的背景图片

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

注:没有Imagejpg()这个函数,只有imagepng()函数

imagecreatetruecolor()函数含义

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

考虑到我们一般验证码的背景图片为白色,那么我们现在就把背景图片改一下

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

相关函数意思

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

注:在输出图片之前,我们必须要生成header(“Content-type:image/png”),即告诉服务器输出的是图片

一、生成纯数字验证码

1、产生数字的代码部分

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

相关函数

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

将数字的颜色设置为随机的

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

注:控制好字体大小和分布,避免字体重叠或字体显示不全(即控制好x和y轴的定义)

2、增加干扰元素(点元素)

代码部分

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

相关函数

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

3、添加干扰元素(线元素)

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

相关函数

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

注:干扰信息一定要控制好颜色,避免颜色吧数字给遮住了

二、生成字母数字的验证码

1、先把纯数字的相关设置给注释掉,避免干扰

代码部分

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

提示:我们可以把显示的内容进行筛选,比如数字0和字母o是相似的,可以删掉(字母l和数字1,字母z和数字2),让用户有更好的体验

注:有时候我们进行筛选会出现筛选一个空内容出来,就会出现验证码只有三个或三个以下的字符出现,那么我们可以进行避免

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

三、通过seseion存储用户验证信息

1、 首先,我们都知道,在我们要用session进行存储信息时,我们都要在php文件中的最顶部进行session的开启

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

其次,我们要用session进行存储,那么:

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

2、验证码通过表单提交、进行校验

表单代码部分

注意:src属性里面的验证码必须是单独的生成验证码图片文件,引入时必须是一个文件形式(.php)而不是直接图片形式(.jpg),

   因为生成验证码文件通过header语句设置整个文件成图片形式,其他的所有相关的数据都将会失效。

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

在用户提交验证码之后,后台进行校验的代码(在form.php的顶端进行编写)

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

测试

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

设置不区分大小写验证

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

四、动态校验设计

1、代码部分

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

注意:“看不清?”的功能中,+Math.random()是必须要有的,否则无效

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

五、图片验证码

1、代码部分

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

2、前端部分

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

注意:“看不清?”的功能中,+Math.random()是必须要有的,否则无效

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

六、汉字验证码

1、汉字验证码与字母数字验证码类似,稍作修改就好,代码部分

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

前端部分

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

2、需要汉字内容较多情况

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

前端不变

效果

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

相关函数

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

php生成纯数字、字母数字、图片、纯汉字的随机数验证码

注:在选择字体样式的时候要选择支持中文的,比如简体、粗体之类

以上就是相关的验证码的实现内容了,你学会了吗!!!加油

                                              

                                                    END