php验证码制作 - IoveC
程序员文章站
2023-12-26 08:54:27
...
目标: 使用php生成验证码
成品:
逻辑代码: authcode.php
php header("Content-type:image/png"); session_start(); //$str用于存放验证码 $str=""; //$charset中剔除了0,o,1,l等易混淆字符 $cs="abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ2345678923456789"; $img=imagecreate($width=100,$height=26); //图片背景色使用浅色调 $img_bg=imagecolorallocate($img,rand(186,255), rand(186,255), rand(186,255)); for($i=0;$i$i){ //文字颜色使用深色调 $txt_color=imagecolorallocate($img,rand(0,86),rand(0,86),rand(0,86)); //从$charset中随机出来一个字符 $tmp=substr($cs,rand(0,strlen($cs)-1),1); //进行偏移和显示 imagestring($img,5,$i*24+rand(6,15),rand(2,12),$tmp,$txt_color); $str.=$tmp; } //将验证码值放入session中以备后用(验证用户输入的验证码) $_SESSION["authcode"]=$str; //添加背景线条 for($j=0;$j$j){ $line_color=imagecolorallocate($img,rand(150,210), rand(150,210), rand(150,210)); imageline($img, rand(0, $width), rand(0, $height), rand(0, $width), rand(0, $height), $line_color); } //添加噪点 for($i=0;$i$i){ $img_noisy=imagecolorallocate($img,rand(150,210), rand(150,210), rand(150,210)); imagesetpixel($img,rand(0,$width),rand(0,$height),$img_noisy); } imagepng($img); imagedestroy($img);
前端使用: register.html