본문 바로가기

Technique/PHP

자동방지글 등록 방지 모듈

반응형


랜던 숫자를 생성하여 생성된 숫자를 이미지로 변환하여 보여주는 함수입니다.


소스사에 주석이 잘 처리되어 있어 설명은 아래를 참고해주세요~!


아래 소스 코드상에 필요한 폰트는 아래쪽에 첨부 합니다.


사용 폰트 :      nanum.ttf



 

 

 

 

  <? // 자동방지글

$time = mktime();     // 시간 유닉스형식

$c_time = md5($time);    //암호화

$string = substr($c_time,14,5);  //글자크기를 5글자로 자름

$gd_image = $localDir."admode/upload/code/code.gif"; // 출력할 이미지]

$gd_image2 = "/admode/upload/code/code.gif"; // 출력할 이미지

$image = ImageCreate (100, 50); // 사이즈가 150x50인 이미지 생성 

$color_black = ImageColorAllocate ($image, 0xf1, 0xf1, 0xf1); // 검정색을 설정 

$color_white = ImageColorAllocate ($image, 0x00, 0x00, 0x00); // 흰색을 설정 

ImageTTFtext ($image, 20, 10, 20, 40, $color_white, $localDir."./nanum.ttf", "$string"); // (100,150)에 navyism을 입력

//이미지가출력되는위치 이미지,위 아래 좌 우 , 바탕화면 , 폰트, 글자)

//ImageGif ($image); // 이미지 출력 

imageJpeg($image, $gd_image, 100); // ($base 이미지를, 파일이름.jpg, 100% 품질로 저장)

ImageDestroy ($image);  // 메모리에서 이미지 제거

?> 

 

 

 

 




아래 코드는 HTML 페이지 내부에 삽입 소스입니다.


 

 

 

 

   <tr>

       <th scope="row">자동방지문자<span class="font_star">*</span></th>

       <td><img src="<?=$gd_image2?>"> <input type="text" name="ltm_code" style="ime-mode:disabled" /> 

          자동글 방지를 위하여 <b>왼쪽에 보이시는 문구를 입력</b>하세요.

  <input type="hidden" name="ltm_time" value="<?=$string?>" /></td>

      </tr>

 

 

 

 



아래 코드는 사용자가 입력한 값과 생성된 값이 일치하는지 Javascript에서 Submit 전에 체크 하는 소스입니다.

 

 

 

 

  function submit_form(){

   var form = document.write_form;

  if(form.ltm_time.value != form.ltm_code.value){

 alert('입력하신 코드번호가 올바르지 않습니다.');

 form.ltm_code.focus();

 return false;

}
        }

 

 

 

 



반응형

'Technique > PHP' 카테고리의 다른 글

스팸글 자동등록 방지  (0) 2015.11.09