Diferencia entre revisiones de «Kaptcha»

De Dos Ideas.
Saltar a: navegación, buscar
(Integración en una aplicación web Java)
(OytUiPIsoNEToKmCBN)
Línea 1: Línea 1:
[[Categoría: Java]]
+
No more s***. All posts of this qauilty from now on
[[Kaptcha]] es una librería [[Java]] para implementar un sistema [[Captcha]].
 
 
 
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.
 
 
 
== Integración en una aplicación web Java ==
 
 
 
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)
 
 
 
<code xml>
 
<form action="submit.action">
 
    <img src="kaptcha.jpg" />
 
    <input type="text" name="kaptcha" value="" />
 
</form>
 
</code>
 
 
 
Poner la referencia en tu web.xml (cheando que el url-pattern se el mismo que el agregado en la página web)
 
 
 
<code xml>
 
<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>
 
</code>
 
 
 
Agregar en el código que hace la validación:
 
<code java="java5">
 
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.");
 
}
 
</code>
 
 
 
 
 
Eso es todo!
 
 
 
== Como testear una aplicacion que usa Kaptcha==
 
 
 
La configuración del servlet permite varias opciones de inicialización, como ser cantidad de caracteres que se mostrarán o bien las letras que puede usar para generar el código. Una opcion es configurar para que se muestre un solo caracter con una sola opcion, por ejemplo que siempre muestre la letra a.
 
 
 
Ejemplo de como quedaria la configuración:
 
 
 
<code xml>
 
<servlet>
 
<servlet-name>Kaptcha</servlet-name>
 
<servlet-class>
 
com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
 
<init-param>
 
<param-name>kaptcha.border</param-name>
 
<param-value>yes</param-value>
 
</init-param>
 
<init-param>
 
<param-name>kaptcha.textproducer.char.string</param-name>
 
<param-value>aa</param-value>
 
</init-param>
 
<init-param>
 
<param-name>kaptcha.textproducer.char.length</param-name>
 
<param-value>1</param-value>
 
</init-param>
 
<load-on-startup>3</load-on-startup>
 
</servlet>
 
</code>
 
 
 
==Ver también==
 
* [[Captcha]]
 
* [http://code.google.com/p/kaptcha/ Sitio oficial Kaptcha]
 
* [http://code.google.com/p/kaptcha/wiki/HowToUse Cómo usar Kaptcha]
 

Revisión del 21:37 6 sep 2011

No more s***. All posts of this qauilty from now on