Vous êtes sur la page 1sur 11

ATLAS

MANUAL DE USUARIO
COMPONENTE CAPTCHA





Versin 1.3

rea de Aplicaciones Especiales y Arquitectura de
Software


Framework Atlas
Componente Captcha


2 de 11
Hoja de Control

Ttulo
Manual de Usuario Componente Captcha
Documento de
Referencia
NORMATIVA ATLAS
Responsable
rea de Aplicaciones Especiales y Arquitectura de Software
Versin
1.3
Fecha Versin
13/06/2012

Registro de Cambios

Versin Causa del Cambio Responsable del Cambio Fecha del Cambio
1.0 Versin inicial del documento
rea de Integracin y Arquitectura de
Aplicaciones
26/05/2010
1.1 Nueva versin del componente.
rea de Integracin y Arquitectura de
Aplicaciones
10/02/2011
1.2 Se modifica el nombre del Area
rea de Aplicaciones Especiales y
Arquitectura de Software
27/09/2011
1.3
Modificaciones generales por el
cambio de componente al
eliminar tomahawk de Atlas.
rea de Aplicaciones Especiales y
Arquitectura de Software
25/05/2012


Framework Atlas
Componente Captcha


3 de 11
ndice

1. INTRODUCCIN ................................................................................................................................................................ 4
1.1. AUDIENCIA OBJETIVO .............................................................................................................................................. 4
1.2. CONOCIMIENTOS PREVIOS ...................................................................................................................................... 4
2. DESCRIPCIN .................................................................................................................................................................... 4
3. INSTALACIN Y CONFIGURACIN............................................................................................................................. 6
3.1. INSTALACIN .............................................................................................................................................................. 6
3.2. CONFIGURACIN ....................................................................................................................................................... 6
4. USO ........................................................................................................................................................................................ 7
4.1. PASO 1: DEFINICIN DEL ESPACIO DE NOMBRES DE ETIQUETAS DE ATLAS ...................................................................... 7
4.2. PASO 2: INSERCIN EN LA PGINA DE LA ETIQUETA DE ATLAS ........................................................................................ 7
4.3. USO DEL COMPONENTE CON AJAX.................................................................................................................................... 8
4.4. RECOMENDACIONES Y BUENAS PRCTICAS ...................................................................................................... 9
4.5. EJEMPLO DE USO ........................................................................................................................................................ 9
5. PREGUNTAS MS FRECUENTES ................................................................................................................................ 10
6. ENLACES RELACIONADOS .......................................................................................................................................... 11

Framework Atlas
Componente Captcha


4 de 11

1. INTRODUCCIN

Este documento contiene el manual de uso del componente visual Captcha del framework Atlas. En l se incluye
informacin sobre cmo utilizar dicho componente en una aplicacin web, as como informacin acerca de la
configuracin de los parmetros fundamentales del componente.

1.1. AUDIENCIA OBJETIVO

Este documento est orientado a toda aquella persona que est desarrollando una aplicacin Web basada en el
Framework Atlas y necesite utilizar componentes de presentacin en su aplicacin Web.

1.2. CONOCIMIENTOS PREVIOS

Para un completo entendimiento del documento, el lector deber tener conocimientos previos sobre las siguientes
tecnologas:
Java Server Faces (JSF)
Facelets
Spring Framework
Richfaces

Para saber ms sobre dichas tecnologas, consultar el apartado de este documento, Enlaces Relacionados.

2. DESCRIPCIN

Captcha es el acrnimo de Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba
de Turing pblica y automtica para diferenciar a mquinas y humanos). Un ejemplo de captcha es el siguiente:








Framework Atlas
Componente Captcha


5 de 11
La imagen de arriba es un tpico test para la secuencia "uuth7j" que dificulta el reconocimiento de la mquina
variando la altura de las letras y aadiendo un gradiente de fondo. Se trata de una prueba desafo-respuesta
utilizada en computacin para determinar cundo el usuario es o no humano.

El componente permite crear elementos tipo Captcha para evitar que robots puedan utilizar determinados servicios
y as verificar que estos son usados a travs de la interaccin directa con personas.

Consiste en la introduccin de un conjunto de caracteres por parte del usuario, mostrados en una imagen
distorsionada que aparece en pantalla. De esta manera se verifica que el usuario es humano, ya que una mquina
no es capaz de comprender e introducir la secuencia de forma correcta.

A continuacin se muestra el ejemplo de la aplicacin de demostracin de componentes del Framework Atlas:





Framework Atlas
Componente Captcha


6 de 11

3. INSTALACIN Y CONFIGURACIN

En este apartado se incluye informacin sobre la instalacin y la configuracin del componente Captcha.

3.1. INSTALACIN

El componente de captcha ya viene instalado en el arquetipo Web, incluido con el mdulo de componentes
visuales. Por este motivo no es necesaria una instalacin adicional si se parte del arquetipo.


3.2. CONFIGURACIN

El componente no requiere configuracin adicional.



Framework Atlas
Componente Captcha


7 de 11
4. USO

Una vez instalado el mdulo de componentes puede procederse a su utilizacin. Para ello deben realizarse los
pasos indicados en los siguientes apartados:

4.1. Paso 1: Definicin del espacio de nombres de etiquetas de Atlas

Es necesario crear un fichero xhtml y establecer la definicin del espacio de nombres para las etiquetas de
componentes de Atlas. Un ejemplo de cabecera de fichero xhtml es la siguiente:

Cabecera de fichero xhtml
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:atlas="http://atlas.core.componentes/jsf"
xmlns:a4j="http://richfaces.org/a4j">



4.2. Paso 2: Insercin en la pgina de la etiqueta de Atlas

Se insertar una etiqueta atlas:captcha que incluir una imagen de captcha en la pgina, un campo de texto para
validar el captcha y un botn para recargar la imagen, esta recarga se realiza por ajax. En el siguiente ejemplo se
presenta la seccin de un conjunto formado por el componente que incluye los elementos mencionados, un botn
para validar el captcha y un componente de mensajes para mostrar un mensaje de error si el usuario no introduce
el texto que representa la imagen correctamente. Es necesario que el componente tenga identificador.

<h:form>

<atlas:captcha id="captchaAtlas" />

<div class="botonera">
<h:commandLink action="#{captchaFormBean.enviarMensaje}"
styleClass="botonAplicacionTXT"
value="#{bundle['captcha.send']}">
<h:graphicImage value="img/ico_nuevo.gif"
alt="#{bundle['captcha.send']}" />
</h:commandLink>
</div>

<h:messages styleClass="errorClass" />


</h:form>

Framework Atlas
Componente Captcha


8 de 11


El funcionamiento del componente es el siguiente: si el usuario introduce un captcha incorrecto se lanzar una
excepcin de validacin de JSF, enviando un mensaje de error que se mostrar si en la pgina hay un componente
de mensaje. Para ello el componente hace uso de un validador JSF especfico e incluido en la librera de
componentes. Por esto es imprescindible que se ejecute la fase de validacin del ciclo de vida de JSF, es decir, el
componente que ejecute la accin no debe tener la propiedad immediate a true. En el caso en que el usuario
introduzca el captcha correctamente no ocurrir nada.

Los atributos del componente son los siguientes:

Nombre atributo Obligatorio Descripcin
id SI Identificador del componente.
required NO Indica si es obligatorio pasar el captcha. Su valor por
defecto es TRUE.
captchaHeight NO Alto de la imagen generada por el componente del
captcha. Su valor por defecto es 30.
captchaWidth NO Ancho de la imagen generada por el componente del
captcha. Su valor por defecto es 120.
inputSize NO Propiedad Size del campo de texto incluido en el
componente. Su valor por defecto es 14.



4.3. Uso del componente con ajax
Para que el captcha funcin correctamente en el caso de peticiones ajax hay que asegurarse de que la validacin
del captcha se ejecute, en caso de utilizar la propiedad execute el id del componente se debe aadir a la lista de
componentes, de este modo se validar el captcha.
El componente genera una nueva imagen en casa peticin, se haya introducido valor o no en el campo de texto del
captcha y haya sido correcta o incorrecta la validacin del mismo. Sin embargo, en el caso de peticiones ajax, para
que se genere una nueva imagen en cada peticin es necesario indicar que se recargue dicha imagen. Para ello en
el atributo render del componente que realice la peticin (commandButton, commandLink, ajax) se debe aadir el
identificado del captcha seguido por el sufijo _captchaImage, de este modo se generar una nueva imagen en
cada peticin. A continuacin se muestra un ejemplo del captcha con una peticin ajax.


Framework Atlas
Componente Captcha


9 de 11

<atlas:captcha id="captchaAtlas"/>

<div class="space2"/>

<div class="botonera_interior">
<a4j:commandLink action="#{captchaFormBean.enviarMensaje}"
styleClass="botonAplicacionTXT"
value="#{bundle['captcha.send']}"
render="mensaje captchaAtlas_captchaImage"
execute="captchaAtlas">
<h:graphicImage value="img/ico_nuevo.gif"
alt="#{bundle['captcha.send']}" />
</a4j:commandLink>
</div>

<h:messages id="mensaje" styleClass="errorClass" />







4.4. RECOMENDACIONES Y BUENAS PRCTICAS

Se recomienda no aumentar demasiado las cantidades de anchura y altura para la buena visualizacin del
componente.


4.5. EJEMPLO DE USO

Se puede ver un ejemplo de dicho componente en la aplicacin de demostracin de componentes, bajo la siguiente
secuencia de navegacin:
Otros componentes Atlas > Captcha



Framework Atlas
Componente Captcha


10 de 11
5. PREGUNTAS MS FRECUENTES

En este apartado se incluyen una lista de preguntas ms frecuentes sobre el componente.

Pregunta: Dnde puedo encontrar informacin general sobre los componentes?
Respuesta: En la aplicacin de demostracin de los componentes del Framework Atlas


Pregunta: Cmo se ha implementado el componente en su capa de presentacin?
Respuesta: El componente captcha se implement como una plantilla de facelets, apoyndose en componentes
de richfaces.


Pregunta: Es posible utilizar el componente en una peticin ajax?
Respuesta: S, se puede usar el componente en una peticin ajax, pero el componente que haga la peticin debe
asegurarse que se valide el captcha, esto se hace bien ubicando el componente en una regin ajax que se vaya a
validar, o bien especificando en la propiedad execute del componente que haga la llamada el identificador del
captcha.



Framework Atlas
Componente Captcha


11 de 11
6. ENLACES RELACIONADOS

Producto URL
Ajax4JSF http://www.jboss.org/jbossrichfaces/
Barbecue http://barbecue.sourceforge.net/
Commons BeanUtils commons.apache.org/beanutils/
Commons Configurations http://commons.apache.org/configuration/
Facelets https://facelets.dev.java.net/
Hibernate http://www.hibernate.org/
Hibernate Annotations http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/
JAXB http://java.sun.com/webservices/jaxb/
JPA http://java.sun.com/developer/technicalArticles/J2EE/jpa/
JSF http://java.sun.com/javaee/javaserverfaces/
JSFUnit http://www.jboss.org/jsfunit/
Log4J http://logging.apache.org/log4j/
MyFaces Core http://myfaces.apache.org/
RichFaces http://www.jboss.org/jbossrichfaces/
Spring http://www.springframework.org/
Spring Security http://www.springframework.org/
Velocity http://velocity.apache.org/

Vous aimerez peut-être aussi