PHP实现验证码

发表博客时看到了本网站的验证码功能,所以写了这篇文章。原理相同

为了防止暴力破解我们一般都会添加验证码功能,这里主要介绍php带运算的验证码是如何实现的。

1.首先要绘制验证码的背景图片 使用GD2来实现

$image = imagevreate(70,20);//设置画布大小

$background = ImageColorAllocate($im,245,245,245);//创建颜色,用于填充画布

imagefill($image,0,0$background);//填充画布


2.在画布上绘制数字

$color = ImageColorAllocate($image,rand(100,255),rand(0,100),rand(100,255));//随机创建一种颜色

$num = rand(1,9);//创建一个随机数

imagestring($image,5,2+0*10,1,$num,$color);//在画布上绘制数字

3.添加运算

以加法为例,绘制4个随机数字,第一个是被加数的十位,第二个是被加数的个位,第三个是加数的十位,第四个是加数的个位,在第二三个数字中间绘制运算符(+),在第四个数后面绘制等号。

算出结果$result=$a*10+$b+$c*10+$d

4.验证验证码

验证码在显示时我们可以将生成的结果存放在一个session的值里 $_SESSION['result']=$result。和用户输入的验证码做对比,验证是否输入正确




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值