본 글은 주로 PHP로 웹페이지 인증코드를 생성하는 효과를 자세히 소개하고 있으며, SMS 인증코드와 웹페이지 인증코드 실습에 적용할 때 어느 정도 참고할만한 가치가 있습니다.
실습 중입니다. 개발 중에는 SMS 인증코드와 웹페이지 인증코드를 사용하게 되는데, 상대적으로 웹페이지 인증코드 비용이 상대적으로 저렴하고, 보안 요소도 괜찮습니다. 다음으로 웹페이지 인증코드를 만들어 직접 입력하겠습니다. 코드:
우선 파일 디렉터리 구조에 대해 이야기해 보겠습니다.
|----------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($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>
이상 이것이 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.
관련 권장 사항:
오픈 소스 도구를 사용하여 웹페이지를 만드는 방법 인증코드
위 내용은 PHP로 웹페이지에 인증코드 기능을 구현하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!