PHP 인증 코드 생 성 원리 및 구현

인증 코드 는 폼 에서 점점 더 많이 실현 되 고 있 지만 js 로 쓴 인증 코드 는 항상 불편 해서 phop 이 실현 하 는 인증 코드 를 배 웠 습 니 다.좋 습 니 다.사실은 할 일이 없 지만 시간 을 낭비 하고 싶 지 않 아서 phop 실현 인증 코드 를 배 웠 습 니 다.이른바 기술 이 많 으 면 몸 을 누 르 지 않 는 다.그리고 함수 로 포장 할 수도 있 고 나중에 사용 할 때 도 편리 합 니 다.물론 지금 은 포장 되 지 않 았 습 니 다.
먼저 여러분 께 효과 도 를 한 장 동봉 합 니 다.

등록 할 때 자주 등록 코드 를 사용 하여 기계 의 악성 등록 을 방지 하기 때문에 여기 서 저 는 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 인증 코드 생 성 원리 와 구현 에 관 한 지식 이 므 로 도움 이 되 셨 으 면 합 니 다.

좋은 웹페이지 즐겨찾기