Captchas in Java

From OWASP
Revision as of 17:20, 27 November 2012 by María Fernanda (Talk | contribs)

Jump to: navigation, search

Contents

Overview

CAPTCHA stands for "Completely Automated Public Turing test to tell Computers and Humans Apart". A CAPTCHA typically takes the form of an image containing distorted letters and/or numbers and is often used on web sites where it is important to determine whether the user is a real person or a computer program. CAPTCHA's have some drawbacks such as the lack of accessibility for the visually impaired, high CPU usage, and possible circumvention techniques. In many cases, however, CAPTCHA's can help mitigate certain types of attacks launched by malicious individuals using automated tools. At a minimum they can raise the bar enough to deter a casual attacker.

JCaptcha

JCaptcha is a Java implementation of captcha technology developed by Marc Antoine Garrigue and released as open source. JCaptcha provides Java programmers with a framework and toolset for deploying CAPTCHA's in their web applications. You can download the full package that includes JARs, API documentation, and source code from SourceForge. The latest release of JCaptcha (1.0) is available under the GNU General Public License, but later releases will be under the LGPL license.

Examples

SimpleCaptcha

SimpleCaptcha is another framework that provides Java programmers with the ability to easily add a CAPTCHA to their web applications. A number of default CAPTCHA servlets are provided, including a Chinese version. The visual representation of the CAPTCHA text can be altered using a number of filtering methods, but SimpleCaptcha does not provide an audio CAPTCHA, which limits its accessibility for the visually impaired.

Examples

reCAPTCHA

reCAPTCHA is a CAPTCHA web service that provides a visual and an audio CAPTCHA. The visual CAPTCHAs generated by reCAPTCHA cannot be customized, but are derived from text in scanned books that have already failed to be recognized by OCR technology. A number of plugins for different programming languages have been developed including a Java plugin, but it is fairly straightforward to develop your own plugin. One of the major downsides of using a web service such as reCAPTCHA is that the service might go down while your application is still running. In the case of failure, your application will either need to fail open or fail closed.


CAPTCHA EN JAVA

CAPTCHA son de las siglas de "Prueba de Turing pública y automática para diferenciar máquinas y humanos". Un CAPTCHA típicamente toma la forma de una imagen que contiene letras distorsionadas y / o números, se utiliza a menudo en los sitios web, donde es importante para determinar si el usuario es una persona real o un programa de ordenador. CAPTCHA tienen algunos inconvenientes, como la falta de accesibilidad para los discapacitados visuales, el uso intensivo de la CPU, y posibles técnicas de elusión. En muchos casos, sin embargo, CAPTCHA puede ayudar a mitigar ciertos tipos de ataques lanzados por individuos maliciosos que utilizan herramientas automatizadas. Como mínimo se puede subir la complejidad lo suficiente como para disuadir a un atacante casual. JCaptcha

JCaptcha es una implementación Java de la tecnología de código de la imagen desarrollada por Marc Antoine Garrigue y liberado como código abierto. JCaptcha proporciona a los programadores Java un marco y un conjunto de herramientas para la implementación de CAPTCHA en sus aplicaciones web. Puede descargar el paquete completo que incluye JAR, documentación API y el código fuente en SourceForge.

La última versión de JCaptcha (1,0) está disponible bajo la Licencia Pública General de GNU, pero versiones posteriores estarán bajo la licencia LGPL. SimpleCaptcha


SimpleCaptcha es otro marco que proporciona a los programadores Java con la capacidad de agregar fácilmente un CAPTCHA para sus aplicaciones web. Una serie de servlets de CAPTCHA por defecto se proporcionan, incluyendo una versión china. La representación visual del texto CAPTCHA se puede modificar mediante una serie de métodos de filtrado, pero SimpleCaptcha no proporciona un CAPTCHA de audio, lo que limita su accesibilidad para los discapacitados visuales.


reCAPTCHA


reCAPTCHA es un servicio web que proporciona un CAPTCHA de visual y un CAPTCHA de audio. Los CAPTCHAs visuales generados por reCAPTCHA no se pueden personalizar, pero se derivan del texto en los libros digitalizados que ya no pudieron ser reconocidos por la tecnología OCR.

Una serie de plugins para diferentes lenguajes de programación se han desarrollado como un plugin de Java, pero es bastante sencillo de desarrollar su propio plugin. Uno de los inconvenientes principales de usar un servicio web como reCAPTCHA es que el servicio podría bajarse mientras la aplicación se está ejecutando. En el caso de fallo, Su aplicación se tendrá que dejar abierta o no cerrada.

Tutor: Ingeniero Tito Armas

Traductor: Luis Fernando Naranjo

Curso: Aplicaciones en Ambientes Libres