PHP 인증 코드 생 성 원리 및 구현
먼저 여러분 께 효과 도 를 한 장 동봉 합 니 다.
등록 할 때 자주 등록 코드 를 사용 하여 기계 의 악성 등록 을 방지 하기 때문에 여기 서 저 는 png 이미지 인증 코드 가 발생 하 는 기본 이미 지 를 발표 합 니 다.매우 초라 하지만 사상 이 뚜렷 합 니 다.
1.png 그림 생 성
2.그림 배경 색 설정
3.글꼴 색상 과 스타일 설정
4.네 자리 수의 무 작위 인증 코드 생 성
5.발생 하 는 모든 문 자 를 회전 각도 와 위 치 를 png 그림 에 그립 니 다.
6.소음 과 간섭 선 을 넣 어 등록 기계 가 원래 의 사진 을 분석 하여 악의 적 으로 등록 하 는 것 을 방지 합 니 다.
7.그림 출력
8.이미지 가 차지 하 는 메모리 방출
authcode.php 파일
코드
<?php
session_start ();
header ( 'Content-type: image/png' );
//
$im = imagecreate($x=130,$y=45 );
$bg = imagecolorallocate($im,rand(50,200),rand(0,155),rand(0,155)); // imagecolorallocate()
$fontColor = imageColorAllocate ( $im, 255, 255, 255 ); //
$fontstyle = 'rock.ttf'; // , c:\windows\Fonts\ , authcode.php ,
//
for($i = 0; $i < 4; $i ++) {
$randAsciiNumArray = array (rand(48,57),rand(65,90));
$randAsciiNum = $randAsciiNumArray [rand ( 0, 1 )];
$randStr = chr ( $randAsciiNum );
imagettftext($im,30,rand(0,20)-rand(0,25),5+$i*30,rand(30,35),$fontColor,$fontstyle,$randStr);
$authcode .= $randStr;
}
$_SESSION['authcode'] = $randFourStr;//
//
for ($i=0;$i<8;$i++){
$lineColor = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imageline ($im,rand(0,$x),0,rand(0,$x),$y,$lineColor);
}
//
for ($i=0;$i<250;$i++){
imagesetpixel($im,rand(0,$x),rand(0,$y),$fontColor);
}
imagepng($im);
imagedestroy($im);
?>
PHP 인증 코드 생 성 원리 와 구현 에 관 한 지식 이 므 로 도움 이 되 셨 으 면 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
삼 단 관 의 원리텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.