회원가입, 로그인, 게시판 글 등록시 스팸방지를 위해서 캡차코드를 적용할 수 있다.
https://www.phpcaptcha.org/ 에서 파일을 다운로드 하여 홈페이지에 업로드한다.
샘플코드를 간단하게 줄여서 테스트하고 적어둔다.
Form 입력코드
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="Content-type" content="text/html;charset=UTF-8"> <title>Securimage Example Form</title> <link rel="stylesheet" href="securimage.css" media="screen"> <style type="text/css"> <!-- div.error { display: block; color: #f00; font-weight: bold; font-size: 1.2em; } span.error { display: block; color: #f00; font-style: italic; } .success { color: #00f; font-weight: bold; font-size: 1.2em; } form label { display: block; font-weight: bold; } fieldset { width: 90%; } legend { font-size: 24px; } .note { font-size: 18px; --> </style> </head> <body>
<fieldset> <legend>Example Form</legend> <form method="post" action="capchado.php" id="contact_form"> <input type="hidden" name="do" value="contact"> <p> <label for="ct_name">Name*:</label> <input type="text" id="ct_name" name="ct_name" size="35" value=""> </p>
<div> <?php require_once 'securimage.php'; $options = array(); $options['input_name'] = 'ct_captcha'; // change name of input element for form post $options['disable_flash_fallback'] = false; // allow flash fallback echo Securimage::getCaptchaHtml($options); ?> </div>
<p> <br> <input type="submit" value="전송"> </p>
</form> </fieldset>
</body> </html>
|
Form 에서 전송받은 데이터를 처리하는 코드
<?php error_reporting(E_ALL); ini_set('display_errors', 1);
if ($_SERVER['REQUEST_METHOD'] == 'POST' && @$_POST['do'] == 'contact') { var_dump($_POST); // 디버깅 목적으로 찍어보라.
$captcha = @$_POST['ct_captcha']; require_once dirname(__FILE__) . '/securimage.php'; $securimage = new Securimage();
if ($securimage->check($captcha) == false) { $captcha_error = '잘못된 보안코드가 입력되었습니다.'; echo '<br/><br/>'.$captcha_error.'<br/>'; } else { echo '<br/><br/>캡차 제대로 입력했어요<br/>'; }
} // POST ?>
|
이 코드를 jQuery 로 처리하기 위해서는 소스보기로 해서 캡차의 input name 값이 뭔지 확인을 해보고 jQuery 입력체크를 하면 된다.