php制作验证码及验证码js局部刷新

2025-10-26 13:08:20

1、一、获取生成图像的数据,如验证码的四位字符(如何保障数据随机性的处理)。

$authnum=random(4);

//产生随机数函数function random($length) {    $hash = '';    $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';    $max = strlen($chars) - 1;    mt_srand((double)microtime() * 1000000);    for($i = 0; $i < $length; $i++) {        $hash .= $chars[mt_rand(0, $max)];    }    return $hash;}

2、//新建一个图像(注意生成图像格式)。Header("Content-type: image/PNG");$im = imagecreate(100,30); //imagecreate() 新建图像,大小为 x_size 和 y_size 的空白图像。

//输出图像ImagePNG($im); //以 PNG 格式将图像输出到浏览器或文件ImageDestroy($im);//销毁一图像

//在不同浏览器显示不一样,

php制作验证码及验证码js局部刷新

php制作验证码及验证码js局部刷新

3、//生成填充颜色  注意要在输出图像之前$red = ImageColorAllocate($im, 153,51,0); //设置背景颜色$white = ImageColorAllocate($im, 255,204,0);//设置文字颜色$gray = ImageColorAllocate($im, 102,102,0); //设置杂点颜色

//填充背景颜色imagefill($im,100,30,$red);

//生成空的图片

//

php制作验证码及验证码js局部刷新

4、//填充数据字符for ($i = 0; $i < strlen($authnum); $i++){    imagestring($im, 7, 14*$i+4, 1, substr($authnum,$i,1), $white); }

//显示随机数

php制作验证码及验证码js局部刷新

5、for($i=0;$i<100;$i++) imagesetpixel($im, rand()%100 , rand()%30 , $gray); //加入干扰像素

还有很多的干扰像素等大家去发掘,这里就不一一举例了

php制作验证码及验证码js局部刷新

6、这样一个简单的验证码就做出来了,但是一般验证都是点击刷新验证码,这里就用到了js局部刷新

php制作验证码及验证码js局部刷新

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢