>백엔드 개발 >PHP 튜토리얼 >PHP는 웹사이트 확인 코드 기능을 구현합니다.

PHP는 웹사이트 확인 코드 기능을 구현합니다.

墨辰丷
墨辰丷원래의
2018-05-25 16:06:532564검색

이 글은 주로 PHP에서 웹사이트 인증코드 기능을 구현하는 방법을 소개합니다. 관심있는 친구들이 참고하시면 좋을 것 같습니다.

인증코드는 웹사이트에서 흔히 사용되는 보안 수단이자 초보 웹마스터가 익히기 어려운 기술이기도 합니다. 간단하고 효과적인 인증코드 구현 방법을 소개하겠습니다.

시작하기 전에

공식적으로 시작하기 전에 php의 gd2 그래픽 라이브러리 지원을 켜야 합니다(php.ini에서 "php_gd2.dll"을 검색하고 ";extension=php_gd2.dll"을 찾아 포인트를 제거하세요) 문장의 시작 부분에 번호) .

참조: PHP의 gd2 라이브러리를 여는 방법

Core: img.php

이 페이지는 인증 코드를 생성하고 세션에 올바른 값을 씁니다

임의의 4자리 인증 code

$check=rand(1000,9999) $check=rand(1000,9999); 

将生成的验证码写入session

Session_start(); 
$_SESSION["check"] = $check;

创建一张图片

$im = imagecreate(80,30);

由于这种图片的背景默认是黑色的所以我们要用白色填充。

imagefill($im,0,0,ImageColorAllocate($im, 255,255,255)); 

생성된 인증 코드를 세션에 작성하세요

$y1=rand(0,30); 
$y2=rand(0,30); 
$y3=rand(0,30); 
$y4=rand(0,30); 
imageline($im,0,$y1,70, $y3,000); 
imageline($im,0,$y2,70, $y4,000);

사진 만들기

$im = imagecreate(80,30);

이 이미지의 배경은 기본적으로 검은색이므로 흰색으로 채워야 합니다.

imagefill($im,0,0,ImageColorAllocate($im, 255,255,255))

imageline을 사용하여 두 개의 실선을 무작위로 그립니다

$strx=rand(3,15); 
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,0,1),ImageColorAllocate($img,34,87,100)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,1,1),ImageColorAllocate($img,781,117,78)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,2,1),ImageColorAllocate($img,160,40,40)); 
$strx+=rand(15,20);
$stry=rand(2,15); 
imagestring($img,5,$strx,$stry,substr($check,3,1),ImageColorAllocate($img,25,55,10));

임의의 위치에 텍스트 그리기

Header("Content-type: image/PNG"); 
ImagePNG($img);

출력 이미지

끝, 여기 완전한 코드가 있습니다

 <!DOCTYPE html>
<html>
<body>
<form action="action.php" method="post">
<input type="text" name="cikle" placeholder="验证码">
<br>
<img id="cikle" style="-webkit-user-select: none" src="img.php"><input type="submit" value="Submit">
</form> 
</body>
</html>

사용자 인터페이스: index.php

방법은 다들 아실 것 같아서 직접 코드를 알려드리겠습니다

<?php
Session_start(); 
if ($_SERVER["REQUEST_METHOD"] == "POST") {
 if($_SESSION["check"]!=intval($_POST["cikle"])){
 echo "不正确";
 }else{
 echo "正确";
 }
}


위 코드는 사용자가 입력한 값을 "action.php"

Check: action.php

로 전송하는 코드입니다. 이 단계는 사용자 입력 값을 세션의 값과 비교하기 위한 것입니다. 가 동일하면 출력이 "올바른" 것입니다.

가 같지 않으면 출력이 "잘못"입니다

rrreee

위는 이 기사의 전체 내용이 학습에 도움이 되는 모든 사람에게 도움이 되기를 바랍니다.
관련 권장 사항:

PHP

Verification신분증이 합법적인지 확인하는 기능

🎜🎜🎜노드를 사용하여 토큰 기반 ID를 구현하는 방법 🎜verification🎜🎜🎜🎜🎜🎜A JAX🎜확인 🎜데이터베이스 콘텐츠는 다음과 같습니다. 값은 페이지에 표시됩니다. 🎜🎜🎜🎜🎜🎜🎜🎜🎜

위 내용은 PHP는 웹사이트 확인 코드 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.