구글API를 이용하여 reCaptcha 캡차를 이용하면 편리하지만 간단히 만드는 방법을 알아보자
폰트는 tving 에서 다운받아요
http://tvn10festival.tving.com/playground/tvn10font
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | <? session_start(); // 세션변수 생성 function set_session( $session_name , $value ) { if (PHP_VERSION < '5.3.0' ) session_register( $session_name ); $ $session_name = $_SESSION [ $session_name ] = $value ; } //이미지 크기 $img = imagecreate(130,60); //캡챠 폰트 크기 $size = 46; //캡챠 폰트 기울기 $angle = 0; //캡챠 폰트 x,y위치 $x = 5; $y = 50; //이미지의 바탕화면은 흰색 $background = imagefill( $img ,0,0,imagecolorallocatealpha( $img ,255, 255, 255, 100)); //폰트 색상 $text_color = imagecolorallocate( $img , 233, 14, 91); //폰트 위치 $font = 'kcaptcha/fonts/tvn_bold.ttf' ; //캡챠 텍스트 $str = substr (md5(rand(1,10000)),0,5); //가입 시 캡챠 텍스트 확인을 위해 session에 담는다. //$_SESSION['captchastr'] = $str; set_session( "captchastr" , $str ); //글자를 이미지로 만들기 imagettftext( $img , $size , $angle , $x , $y , $text_color , $font , $str ); Header( "Content-type: image/jpeg" ); imagejpeg( $img ,null,100); imagedestroy( $img ); ?> set_session( "captchastr" ) 로 저장된 값을 입력한 값과 비교하여 스팸방지 캡차코드를 구연할 수 있다. html 내용 <div class = "f-div" ><label>스팸방지코드</label></div> <div class = "l-div" ><img src= "/captcha.php" /> <input type= "text" size= "8" maxlength= "10" name= "spamcaptchacode" placeholder= "스팸방지코드를 입력하세요" /> </div> |