Home  >  Article  >  Backend Development  >  Detailed explanation of how to implement the verification code function on the web page in PHP

Detailed explanation of how to implement the verification code function on the web page in PHP

墨辰丷
墨辰丷Original
2018-05-19 14:07:451554browse

This article mainly introduces in detail the effect of php in making web page verification codes. It has certain reference value when applied to the practice of SMS verification codes and web page verification codes. Interested friends can refer to it

In actual development, we will use SMS verification codes and web page verification codes. Relatively speaking, the cost of web page verification codes is relatively low, and the security factor is also acceptable. Next, we will make a web page verification code, directly Above code:

First let’s talk about the file directory structure:

|----------phpyanzheng project folder

  |----fonttype The folder contains font files. Font files generally end with .ttf and .otf

   |----1.php Inside is placed the php language code

   |----index.html Inside Put the web page layout

1.php

<?php
  header(&#39;content-type:image/jpeg&#39;);//定义一下代码以jpeg文件来解析
  $width = 120;//定义了图像的宽
  $height = 40;//定义了图像的高
  $element = array(&#39;q&#39;,&#39;w&#39;,&#39;e&#39;,&#39;r&#39;,&#39;t&#39;,&#39;y&#39;,&#39;u&#39;,&#39;i&#39;,&#39;o&#39;,&#39;p&#39;,&#39;l&#39;,&#39;k&#39;,&#39;j&#39;,&#39;h&#39;,&#39;g&#39;,&#39;f&#39;,&#39;d&#39;,&#39;s&#39;,&#39;a&#39;,&#39;z&#39;,&#39;x&#39;,
  &#39;c&#39;,&#39;v&#39;,&#39;b&#39;,&#39;n&#39;,&#39;m&#39;,&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;,&#39;0&#39;,&#39;Q&#39;,&#39;W&#39;,&#39;E&#39;,&#39;R&#39;,&#39;T&#39;,&#39;Y&#39;,&#39;U&#39;,&#39;I&#39;,&#39;O&#39;,&#39;P&#39;,&#39;A&#39;
  ,&#39;S&#39;,&#39;D&#39;,&#39;F&#39;,&#39;G&#39;,&#39;H&#39;,&#39;J&#39;,&#39;K&#39;,&#39;L&#39;,&#39;M&#39;,&#39;N&#39;,&#39;B&#39;,&#39;V&#39;,&#39;C&#39;,&#39;X&#39;,&#39;Z&#39;);//定义一个显示文本的数组
  $string = &#39;&#39;;
  for($i=0;$i<4;$i++){
    $string.=$element[rand(0,count($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,&#39;a5dg&#39;, $colorString);
  
  imagettftext($img,25,rand(5, 15),rand(0,40),39,$colorString,&#39;fonttype/PrincetownStd.otf&#39;,$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>

The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

How to implement the web page verification code function in Java

php jQuery ajaxWeb page verification code

How to use open source tools to make Web page verification code

The above is the detailed content of Detailed explanation of how to implement the verification code function on the web page in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn