본문 바로가기

프로그래밍

심플한 게시판 스팸방지코드 (captcha)

반응형
곳이 생겨 간단하게 만들어본 captcha

이거 너무 알아볼수 없게 만들면 엄청 짜증남....구글인가..어딘가

눈으로 보고도 내가 뭘보고 있는건지 알아볼수가 없음.

그래서 단순하게 숫자로만 만들었습니다~

<?
//code_img.php
session_start();

header("Content-type: image/png");
$scode = (mt_rand(9,18) * mt_rand(10,19)); 

$im = @imagecreate(60, 22) or die("Cannot Initialize new GD image stream");
 
$bgcolor = imagecolorallocate($im, 218, 232, 254);
$bgcolor2 = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 1, 103, 150);

ImageFilledRectangle($im,0,0,60,22,$bgcolor2); 
ImageFilledRectangle($im,1,1,58,20,$bgcolor); 
imagestring($im, 3, 19, 5,  $scode, $text_color);
 
imagepng($im);
imagedestroy($im);
$_SESSION['scode'] = $scode;
?

<?
//scode.php
session_start();
if( isset($_POST['submit'])) {
    if($_SESSION['scode']==$_POST['user_scode'] && !empty($_SESSION['scode'])){
        echo "correct";
        unset($_SESSION['scode']);
    }else{
        echo "wrong";
    }
}
?
<html

<form method="post" action="<?=$PHP_SELF?"
<table border=0 width="649" cellspacing="0" cellpadding="0"
    <tr
     <td width="60"<img src="code_img.php"</td
     <td width="100"class="darkgreen" align="center"scode.</td
     <td width="60" align="center"<input type="text" name="user_scode" size="8" style="border-width:1; border-color:#CCCCCC; border-style:solid;"</td
     <td width="3"</td
     <td colspan="1" align="center"<input type="submit" name="submit" value="POST IT" style="width:427px; background-color: #EFEFEF;color:#11AE5B;"</td
    </tr
</table
</form

</html

반응형

'프로그래밍' 카테고리의 다른 글

word-break 강제줄바꿈 스타일  (0) 2009.11.08
정규표현식 preg_replace 특수문자 치환  (0) 2009.10.28
OPEN API 모음  (0) 2009.10.20
[Jquery] Pager plugin  (0) 2009.10.14
HTML 4와 HTML 5의 차이점  (0) 2009.10.08