우리말로 발음하면 "캡챠" 라고 해야 하는지.. 잘 모르겠지만 아래가 wiki에 등록된 정의 입니다.
요즘 구글이나 트위터 등 오픈된 인터넷 서비스에 가입하려면 반드시 아래와 같은 그림을 보고 그 단어를 정확히
입력 해 줘야 가입이 가능하도록 되어 있습니다.
------------------------------------------------------------------------------------------------------------
아래는 simpleCaptcha 에서 다운로드 받은 war로 eclipse project를 구성한 예제 입니다.
위내용은 <img src="simpleCaptcha.png"/> 로 해석되고, captcha servlet을 통해 해석됩니다.
web.xml
---------------------------------------------------------------------------------------------------------------
jsp 로 captcha 그림 표시 및 입력 처리는 아래의 jsp를 보시면 알 수 있습니다.
표시 및 입력
입력값 확인
필자가 테스트 해보니, simpleCaptcha는 아주 잘 동작 되고, 사용하기도 아주 편리했습니다.
http://ko.wikipedia.org/wiki/CAPTCHA
CAPTCHA위키백과, 우리 모두의 백과사전.
CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)는
어떠한 사용자가 실제 인간인지 컴퓨터 프로그램인지를 구별하기 위해 사용되는 방법으로, 인간은 구별할 수 있지만 컴퓨터는
구별하기 힘들게 의도적으로 비틀어 놓거나 그림을 주고 그 그림에 쓰여 있는 내용을 물어보는 방법이 흔히 사용된다.
요즘 구글이나 트위터 등 오픈된 인터넷 서비스에 가입하려면 반드시 아래와 같은 그림을 보고 그 단어를 정확히
입력 해 줘야 가입이 가능하도록 되어 있습니다.
아래는 제가 이번 블로그에서 사용한 SimpleCaptcha (http://sourceforge.net/projects/simplecaptcha/) 로 구현된 화면 입니다.
------------------------------------------------------------------------------------------------------------
아래는 simpleCaptcha 에서 다운로드 받은 war로 eclipse project를 구성한 예제 입니다.
아래는 simpleCaptcha.jsp 의 내용입니다.
<img src="<c:url value="simpleCaptcha.png" />"><br />위내용은 <img src="simpleCaptcha.png"/> 로 해석되고, captcha servlet을 통해 해석됩니다.
web.xml
<servlet>
<servlet-name>SimpleCaptcha</servlet-name>
<servlet-class>nl.captcha.servlet.SimpleCaptchaServlet</servlet-class>
<init-param>
<param-name>captcha-width</param-name>
<param-value>300</param-value>
</init-param>
<init-param>
<param-name>captcha-height</param-name>
<param-value>100</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>SimpleCaptcha</servlet-name>
<url-pattern>/simpleCaptcha.png</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>StickyCaptcha</servlet-name>
<servlet-class>nl.captcha.servlet.StickyCaptchaServlet</servlet-class>
<init-param>
<!-- Optional; defaults to 200. -->
<param-name>captcha-width</param-name>
<param-value>250</param-value>
</init-param>
<init-param>
<!-- Optional; defaults to 50. -->
<param-name>captcha-height</param-name>
<param-value>75</param-value>
</init-param>
<init-param>
<!-- Time To Live, in ms. Optional; Defaults to 600000ms. -->
<param-name>ttl</param-name>
<param-value>100000</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>StickyCaptcha</servlet-name>
<url-pattern>/stickyCaptcha.png</url-pattern>
</servlet-mapping>
---------------------------------------------------------------------------------------------------------------
jsp 로 captcha 그림 표시 및 입력 처리는 아래의 jsp를 보시면 알 수 있습니다.
표시 및 입력
<img src="<c:url value="stickyCaptcha.png" />"><br />
<form method="post" action="captchaSubmit.jsp">
Answer: <input name="answer" /><input type="submit" />
</form>
입력값 확인
<%
// We're doing this in a JSP here, but in your own app you'll want to put
// this logic in your MVC framework of choice.
Captcha captcha = (Captcha) session.getAttribute(Captcha.NAME);
request.setCharacterEncoding("UTF-8"); // Do this so we can capture non-Latin chars
String answer = request.getParameter("answer");
if (captcha.isCorrect(answer)) { %>
<b>Correct!</b>
<% } else { %>
<b>Wrong!</b>
<% } %>
필자가 테스트 해보니, simpleCaptcha는 아주 잘 동작 되고, 사용하기도 아주 편리했습니다.