当前位置: 首页 > 编程笔记 >

php通过GD库实现验证码功能

景震博
2023-03-14
本文向大家介绍php通过GD库实现验证码功能,包括了php通过GD库实现验证码功能的使用技巧和注意事项,需要的朋友参考一下

首先看看实现的效果:

具体实现:

<?php/*PHP实现验证码*/
session_start();//开启会话
//创建画布
$image=imagecreatetruecolor(100,38);
//背景颜色
$bgcolor=imagecolorallocate($image,255,255,255);
imagefill($image,0,0,$bgcolor);
$captch_code='';//存储验证码
//随机选取4个数字
for($i=0;$i<4;$i++){
 $fontsize=10;  //
 $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));//随机颜色
 $fontcontent=rand(0,9);
 $captch_code.=$fontcontent;
 $x=($i*100/4)+rand(5,10); //随机坐标
 $y=rand(5,10);
 imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
/*//字母和数字混合验证码
for($i=0;$i<4;$i++) {
 $fontsize = 10;  //
 $fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));//??????
 $data = 'abcdefghijklmnopqrstuvwxyz1234567890'; //数据字典
 $fontcontent = substr($data, rand(0, strlen($data)), 1);
 $captch_code.=$fontcontent;
 $x = ($i * 100 / 4) + rand(5, 10);
 $y = rand(5, 10);
 imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
}*/
$_SESSION['code']=$captch_code;
//增加干扰点
for($i=0;$i<200;$i++){
 $pointcolor=imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
 imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor);//
}
//增加干扰线
for($i=0;$i<3;$i++){
 $linecolor=imagecolorallocate($image,rand(80,280),rand(80,220),rand(80,220));
 imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);
}
//输出格式
header('content-type:image.png');
imagepng($image);
//销毁图片
imagedestroy($image);

实现表单的连接和“换一个”功能的实现:1

<input type="text" placeholder="验证码" name="verifycode" class="captcha"><br><br>
<img id="captcha_img" src="captcha.php?r=<?php echo rand();?>" alt="验证码">
<label><a href="javascript:void(0)" rel="external nofollow" onclick="document.getElementById('captcha_img').src='captcha.php?r='+Math.random()">换一个</a> </label>

captcha.php后面加上一个随机参数是为了实现换一个验证码的功能,,换一个功能通过简单的js即可实现。如果没有这个功能可以不用参数。

总结

以上所述是小编给大家介绍的php通过GD库实现验证码功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍PHP通过GD库实现验证码功能示例,包括了PHP通过GD库实现验证码功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP通过GD库实现验证码功能。分享给大家供大家参考,具体如下: 首先看看实现的效果: 具体实现: 实现表单的连接和“换一个”功能的实现: captcha.php后面加上一个随机参数是为了实现换一个验证码的功能,,换一个功能通过简单的js即可实现。如果没

  • 本文向大家介绍php中使用GD库做验证码,包括了php中使用GD库做验证码的使用技巧和注意事项,需要的朋友参考一下 主要要点: 1、如果前面没有申明session_start();则需要申明; 2、字体可以在cmf输入fonts下载到自己定义的fonts文件夹; 3、$_SESSION [$sess_name]可以通过$_POST获得用户输入的验证码进行比较。

  • 本文向大家介绍PHP实现验证码校验功能,包括了PHP实现验证码校验功能的使用技巧和注意事项,需要的朋友参考一下 验证码的校验是利用PHP中的 SESSION功能来实现。 在最顶端声明函数 session_start(); 告诉服务器我们要用这个函数的功能。 接下来我们用到的就是验证码实现的代码。这里用英文数字的代码为例。 然后在验证码实现之前声明一个空变量,用来存放验证码。 用 POST 方式来接

  • 本文向大家介绍php实现网页端验证码功能,包括了php实现网页端验证码功能的使用技巧和注意事项,需要的朋友参考一下 我们在实际开发中,会用到短信验证码以及网页验证码,相对来说网页验证码的成本比较低,安全系数也还可以,接下来我们就来做一个网页端的验证码,直接上代码: 首先来说一下文件目录结构:     |----------phpyanzheng  项目文件夹       |----fonttype

  • 本文向大家介绍PHP基于GD2函数库实现验证码功能示例,包括了PHP基于GD2函数库实现验证码功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP基于GD2函数库实现验证码功能。分享给大家供大家参考,具体如下: 在正式制作验证码之前要先补充点知识,PHP使用GD2函数库实现对各种图形图像的处理,所以我们制作验证码主要要使用到一些GD2函数库里的一些函数: imagecreatet

  • 本文向大家介绍jQuery实现验证码功能,包括了jQuery实现验证码功能的使用技巧和注意事项,需要的朋友参考一下 效果图: 代码如下: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!