Diferencia entre revisiones de «Kaptcha»
(→Ver también) |
(→Ver también) |
||
Línea 53: | Línea 53: | ||
==Ver también== | ==Ver también== | ||
− | * [http://code.google.com/p/kaptcha/ Sitio oficial | + | * [http://code.google.com/p/kaptcha/ Sitio oficial Kaptcha] |
Revisión del 17:24 7 dic 2009
Introducción
Captcha es el acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar máquinas y humanos).
Usar Kaptcha en un proyecto web es fácil. Todo lo que se necesita es agregar el jar al proyecto, hacer una referencia al servlet del kaptcha en el web.xml y luego validar el dato submiteado en el form con la sesión del servlet que generó el captcha.
Detalles
Aquí los detalles de como integrar Kaptcha a tu aplicación.
Poner el .jar de Kaptcha apropiado (dependiendo de tu JDK) en WEB-INF/lib de tu proyecto. Poner el tag de la imagen en la página web (checkeando que coincida el path de .jpg con el url-pattern que esta definido en el web.xml)
<form action="submit.action">
<img src="kaptcha.jpg" /> <input type="text" name="kaptcha" value="" />
</form>
Poner la referencia en tu web.xml (cheando que el url-pattern se el mismo que el agregado en la página web)
<servlet>
<servlet-name>Kaptcha</servlet-name> <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>Kaptcha</servlet-name> <url-pattern>/kaptcha.jpg</url-pattern>
</servlet-mapping>
Agregar en el código que hace la validación:
String kaptchaExpected = (String)request.getSession()
.getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
String kaptchaReceived = request.getParameter("kaptcha");
if (kaptchaReceived == null || !kaptchaReceived.equalsIgnoreCase(kaptchaExpected)) {
setError("kaptcha", "Invalid validation code.");
}
Eso es todo!
Fuente: http://code.google.com/p/kaptcha/wiki/HowToUse