jueves, 19 de enero de 2017

Incorporando Captcha a una aplicación con Genexus

¡Hola a todos!

Algo no despreciable que aporta a la seguridad en pantallas que están expuestas en internet es la incorporación de Captcha. Más allá de que no es la solución para evitar intrusos o spam, les dificulta un poco la tarea.

Por ejemplo, un uso común puede ser en formularios en los que se solicitan datos o páginas en las que se permite publicar comentarios.

En nuestro caso, necesitabamos que el usuario ingresara ciertos datos para luego mostrarle un pdf con determinada información. Para eso recurrimos al User Control Captcha, que puede descargarse del Marketplace de Genexus.




Por las dudas, aquí dejo el enlace con los pasos para instalar UCs:
http://wiki.genexus.com/commwiki/servlet/wiki?5920,HowTo%3A+Installing+User+Controls

Habiendo instalado el UC y yendo a la implementación... Al agregar el control al web panel, éste mostrará en pantalla tres elementos:
- una imagen
- un enlace para renovar la imagen
- y el campo input que permite escribir el texto
Cuando se confirman los datos, el control permite consultar en una propiedad si el texto ingresado fue el correcto.
Las imágenes que utiliza el UC están en una carpeta dentro del UC (en el servidor).

Particularmente, este UC utiliza 191 imágenes (numeradas 1..191) pero podrían agregarse más y luego modificar los archivos jcap.js (que tiene el MD5 del texto de la imágen) y CaptchaRender.js (que hace el Random de las imagenes) para que el random tenga en cuenta la nueva imagen.

En cuanto a interfaz de usuario, el único detalle es que el enlace de -Renovar imagen- queda a un costado de la imagen, pero nuevamente puede editarse el archivo CaptchaRender.js y agregarse un “<br/>” para que quede más prolijo.

Aquí nuestro caso de Consulta de Comprobante Fiscal Electrónico


Más abajo dejo el enlace al marketplace de genexus en el que es posible descargar el User Control así como acceder a documentación bien detallada y con ejemplos.

https://marketplace.genexus.com/product.aspx?captcha,es

Hay otros controles captcha para utilizar con Genexus, algunos son objetos externos y otros User Controls, pero estos no los probamos (es una deuda pendiente). De todas maneras aquí van los enlaces:

https://marketplace.genexus.com/product.aspx?k2btoolscaptcha,es

https://marketplace.genexus.com/product.aspx?pscaptcha,es

https://marketplace.genexus.com/product.aspx?recaptcha,es

¡Hasta la próxima!

No hay comentarios:

Publicar un comentario