你知道PHP是如何实现验证码的创建和校验的吗?

2022-10-11 20:48:06 206 0
魁首哥

首先我们分以下几个步骤:

1.使用php创建一个图像

2.登陆页面引入php创建的图像

3.验证输入的是否正确

这其中最核心的就是用php创建图像,那么接下来就跟着我一起开始吧


首先新建一个https://www.zhihuclub.com/captcha.php 文件内容:

 font  : 字体的路径,需要自己下载特殊字体
* $captcha: 验证码内容
*/
$len = strlen($data);
$font = './font/texb.ttf';
$captcha = ""; // 这一步不能少,不然会出现报错,设置一个空的变量
for ($i = 0; $i<4; $i++)
{
 $textcolor = imagecolorallocate ($img, rand(0,100), rand(0,100), rand(0,100));
 $index = rande (0, $len-1);
 $indexstr = substr ($str, $index, 1);
 $captcha. = $indexstr;
 $x = 10+$i*20;
 $y = 20;
 imagettftext ($img, 18 , rand(-50, 50), $x, $y, $textcolor, $font, $indexstr);
}

// 这里开启session
session_start();
// 用session 保存验证码内容
$_SESSION["captcha"] = $captcha;
// 设置格式输出画布
header ('content-type:image/png');
imagepng ($img);
// 最后销毁这个图片
imagedestroy ($img);

?>  


2.引入这个文件放到登陆页面或者注册页面,假设同一级目录,加上点击切换事件

 

3.获取接收的验证码进行验证输入的是否正确,login.php 页面验证


   
收藏
分享
海报
0 条评论
206
上一篇:睡衣买回来需要洗吗(睡衣怎么洗好) 下一篇:期望的近义词(盼望的雅称两个字)

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码