扫盲 2026.10.06 10:38 48 次浏览 0 条评论

PHP简易验证码实现思路

验证码就是随机字符存session,再画成图。提交时对比session,一样就过。

先开session,随机取4位,去掉0/O/1/l。存$_SESSION['code']。建画布,写字符,加点干扰点,输出图片头。

<?php
session_start();
$chars='ABCDEFGHJKLMNPQRSTUVWXYZ23456789';
$code='';
for($i=0;$i<4;$i++) $code.=$chars[rand(0,strlen($chars)-1)]; // 4位随机
$_SESSION['code']=$code;
$img=imagecreatetruecolor(80,30);
$bg=imagecolorallocate($img,230,230,230);
$text=imagecolorallocate($img,0,0,0);
imagefill($img,0,0,$bg);
imagestring($img,5,20,8,$code,$text); // 画字
for($i=0;$i<50;$i++) imagesetpixel($img,rand(0,80),rand(0,30),$text); // 干扰
header('Content-type:image/png');
imagepng($img);
imagedestroy($img);
?>

提交后比$_POST['code']和$_SESSION['code'],用完删掉。小皮面板记得开GD库。

标签:PHP,验证码,自学笔记

说点什么 0

行思随记

欢迎来到:行思随记