• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php实现网页端验证码功能的方法详解

php 搞代码 4年前 (2022-01-22) 22次浏览 已收录 0个评论

这篇文章主要为大家详细介绍了php制作网页端验证码效果,运用到短信验证码以及网页验证码实践中,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

我们在实际开发中,会用到短信验证码以及网页验证码,相对来说网页验证码的成本比较低,安全系数也还可以,接下来我们就来做一个网页端的验证码,直接上代码:

首先来说一下文件目录结构:

    |———-phpyanzheng 项目文件夹

      |—-fonttype 文件夹放字体文件,字体文件一般以 .ttf和.otf结尾

      |—-1.php 里面放php语言代码

      |—-index.html 里面放网页布局

1.php

<?php  header('content-type:image/jpeg');//定义一下代码以jpeg文件来解析  $width = 120;//定义了图像的宽  $height = 40;//定义了图像的高  $element = array('q','w','e','r','t','y','u','i','o','p','l','k','j','h','g','f','d','s','a','z','x',  'c','v','b','n','m','1','2','3','4','5','6','7','8','9','0','Q','W','E','R','T','Y','U','I','O','P','A'  ,'S','D','F','G','H','J','K','L','M','N','B','V','C','X','Z');//定义一个显示文本的数组  $string = '';  for($i=0;$i<4;$i++){    $string.=$element[rand(0,count(<b>/本文来源gao@!dai!ma.com搞$$代^@码5网@</b><strong>搞代gaodaima码</strong>$element)-1)];//随机产生四个文本目标  }  $img = imagecreatetruecolor($width, $height);//设置验证区宽高  $colorBg = imagecolorallocate($img,rand(185,255),rand(185,255),rand(185,255));//产生200-255的随机数  $colorBorder = imagecolorallocate($img,rand(50,100),rand(50,100),rand(50,100));//边框颜色  $colorDian = imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100));//背景小点的颜色  $colorLine = imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));  $colorString = imagecolorallocate($img,rand(20,80),rand(20,80),rand(20,80));  imagefill($img, 0, 0, $colorBg);//设置位置和背景颜色  imagerectangle($img,0,0,$width-1,$height-1,$colorBorder);//画一个边框  for($i=0;$i<200;$i++){//循环出200个干扰点    imagesetpixel($img, rand(0, $width-1), rand(0, $height-1), $colorDian);  }  for($i=0;$i<round(5);$i++){//循环出5条干扰线    imageline($img,rand(0,$width/2),rand(0,$height/2),rand($width/2,$width),rand($height/2,$height),$colorLine);  }  //imagestring($img, 4, 0, 0,'a5dg', $colorString);    imagettftext($img,25,rand(5, 15),rand(0,40),39,$colorString,'fonttype/PrincetownStd.otf',$string);  //    图像名称  字体大小 倾斜角度 起始位置X轴 起始位置Y轴 颜色 字体位置 显示的内容  imagejpeg($img);//输出图像?>

index.html

<!DOCTYPE html><html>  <head>    <meta charset="UTF-8">    <title>孙三峰--验证码</title>    <script type="text/javascript" src="js/jquery-1.1.0.js" ></script>  </head>  <body>    <!--注意:原文中对应的ip地址是自己电脑端ip,如果不能正常运行,请修改ip-->    <p>      <label class="lbright">验证码:</label>       <span>         <input type="text" name="validcode" style="width:70px; vertical-align:middle;" id="validcode"/>         <img id="codePic" src="http://192.168.1.113:8601/PHP/phpyanzheng/1.php" width="120" height="40"/>                </span>               <span id="codePic" onclick="getPic();">看不清楚,换一张</span> <!---->    </p>       </body>  <script type="text/javascript">      function getPic(){          $("#codePic").attr("src","http://192.168.1.113:8601/PHP/phpyanzheng/1.php?flag="+Math.random()); <!--局部刷新-->      };   </script></html>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php实现网页端验证码功能的方法详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址