반응형
구글API를 이용하여 reCaptcha 캡차를 이용하면 편리하지만 간단히 만드는 방법을 알아보자
폰트는 tving 에서 다운받아요
http://tvn10festival.tving.com/playground/tvn10font
<?
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>
반응형
'PHP' 카테고리의 다른 글
php 업로드 move_uploaded_file() 함수 (0) | 2021.11.21 |
---|---|
php 간단 심플한 달력만들기 (0) | 2021.11.21 |
[인코딩] 유니코드 인코딩 처리 (특히 json 입출력 시) (0) | 2021.10.22 |
str_replace php 문자열치환 (0) | 2021.08.25 |
phpmyadmin 이제 설정 파일은 암호화 문자열(blowfish_scret) 을 필요로 합니다. (0) | 2021.08.12 |
댓글