Explication détaillée de la façon d'implémenter la fonction de code de vérification sur la page Web en PHP

墨辰丷
Libérer: 2023-03-26 21:30:01
original
1598 Les gens l'ont consulté

Cet article présente principalement en détail l'effet de la production de code de vérification de page Web avec PHP. Il a une certaine valeur de référence lorsqu'il est appliqué à la pratique du code de vérification par SMS et du code de vérification de page Web.

<.>Dans le développement réel, nous utiliserons des codes de vérification SMS et des codes de vérification de page Web. Relativement parlant, le coût des codes de vérification de page Web est relativement faible et le facteur de sécurité est également acceptable. Ensuite, nous créerons un code de vérification de page Web. directement. Ci-dessus le code :

Parlons d'abord de la structure des répertoires de fichiers :

 |----------dossier du projet phpyanzheng

 |-- --fonttype Le dossier contient les fichiers de polices. Les fichiers de polices se terminent généralement par .ttf et .otf

  |----1.php À l'intérieur est placé le code de langue php

  |--- -index.html À l'intérieur Mettre la mise en page de la page Web

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);//输出图像
?>
Copier après la connexion

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>
Copier après la connexion

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.

Recommandations associées :

Comment implémenter la fonction code de vérification de page Web en Java

php+ jQuery+ajaxCode de vérification de page Web

Comment utiliser des outils open source pour créer un Code de vérification de page Web

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!