Hace unos días he instalado un sistema de captcha en nuestro portal, debido al incremento exponencial que habíamos podido observar en la recepción de spam a través de los formularios de contacto.

Imagen CAPTCHACaptcha 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 a máquinas y humanos). Por la explicación de las siglas pareciera o que estamos de broma o bien que se trata de algo muy complicado. Pero ni una cosa ni la otra. Realmente es algo tan simple como una imagen (como la que acompaña estas líneas) que muestra caracteres para que el usuario de una página web los reproduzca, con el fin de dejar claro que se trata de una persona y no de una máquina. En laGatera queremos estar seguros de que los mensajes que recibimos no han sido generados por un sistema automático, por lo cual hemos decidido utilizar este sistema, que tiene por objeto frenar el spam.

En nuestro caso he optado por un script elaborado por mi mismo, que utiliza lenguaje AJAX y apoyado en un par de tutoriales sobre este tema, que hasta el momento había estado siempre entre las cosas pendientes, pero nunca me había puesto en serio a estudiarlo. El funcionamiento es el siguiente, al ir a completar el formulario de contacto nos encontramos con una tabla en la que en lugar de los campos que cabía esperar vemos tan sólo una imagen en que se muestran cinco caracteres (en este caso un código alfa-numérico, con las letras siempre mayúsculas, aunque podríamos poner un código solamente con letras o distinguir estas entre mayúsculas y minúsculas) de forma más o menos confusa, sobre un fondo de color que ayuda a cierta confusión, y un recuadro de texto en el que debemos reproducir con exactitud la secuencia de caracteres. Si lo hacemos correctamente, y tras pulsar el botón de ‘Comprobar’, la tabla se ampliará (sin necesidad de recargar la página) para mostrarnos la felicitación por haber pasado esa pequeña prueba previa y aparecerá igualmente la tabla definitiva con el formulario de contacto. En caso contrario, nos mostrará (también sin recargar) un mensaje de error, en el que se nos pide que lo intentemos de nuevo ya que no se corresponde el código introducido con el de la imagen, habiendo cambiado esta por otra generada de forma aleatoria. Las siguientes imágenes son capturas de esta tabla con el captcha, paso que hay que completar correctamente para poder acceder a mandar un mensaje a través de nuestro sistema.

Captcha Captcha

Los mensajes de nuestros formularios de contactar son dirigidos a una dirección de correo electrónico de nuestro dominio. De forma progresiva hemos ido recibiendo spam por esta vía, tanto a través de los dos formularios de las imágenes de ejemplo, que corresponden con la página de nuestro servicio de Correo y la página corporativa de Contactar, cuyo enlace figura al pie de todas nuestras páginas; como por medio de los formularios de la página de Publicidad o de El Gato encerrado. En los días que lleva instalado este sistema de protección captcha he de decir que hemos pasado de unos 20 o 30 mensajes diarios de spam a entre 0 y 2, a lo sumo 3. Es decir, que en el peor de los casos la disminución es de hasta la décima parte, llegando al 100% muchos días. Por consiguiente, mi conclusión es que ha sido una buena decisión elegir este sencillo sistema de protección.

He de decir que me sigue sorprendiendo el caso de los mensajes que logran pasar esta prueba y simulando ser un ser humano consiguen utilizar la tecnología necesaria para que un ordenador identifique esos caracteres. También es cierto que el más sencillo sistema de OCR puede reconocer textos en una imagen para transformarlos en un documento de texto, si bien la fuente elegida para la imagen (en nuestro caso la fuente True Type Whimsy), así como el color o la decoración incluida (fondo de la imagen) dificultan la labor de reconocimiento óptico de caracteres. En otros casos, como el utilizado por Google, por ejemplo, la imagen ha llegado a deformar de forma importante los propios caracteres, con lo cual resulta casi imposible su reconocimiento por un sistema automatizado.

Hay otros sistemas que igualmente son considerados captcha, como la prueba consistente en la resolución de un sencillo cálculo matemático, también paso previo a admitir un registro de usuario o el envío de datos a través de un formulario. Evidentemente el empleo de captchas entra en colisión clara con los objetivos de accesibilidad de la web, impidiendo que personas con deficiencias visuales o auditivas accedan a ciertos recursos protegidos. Por esto se desarrollan técnicas que permiten elegir entre la validación visual o sonora. En la actualidad, el desarrollo de captchas basados en sonidos está muy por detrás de los visuales y no son tan eficientes.

Por último, señalar que en este blog, tanto en los formularios de comentarios de anotaciones como en el de la página de Contactar, no hemos puesto un captcha ya que utilizamos el plugin de Akismet, oficial de WordPress (viene con la distribución original), que ha detenido hasta el momento 5.207 mensajes de spam.

El spam se está convirtiendo en una amenaza si no tan grave al menos sí tan persistente como la de los virus. Hace pocos días, la firma rusa Kaspersky (desarrolladora del antivirus de igual nombre), que figura entre los tres mejores en todas las comparativas, mandaba un mensaje de petición de auxilio, avisando que no pueden garantizar seguir el ritmo de aparición diaria de virus informáticos, solicitando la ayuda de las administraciones. Un pacto interestatal se hace necesario para poder parar ataques como el de virus y spam, que son las modernas pandemias de nuestros días.