Seguro que conoces esa sensación. Después de un arduo copia y pega, has completado un formulario interminable para optar a ese puesto de trabajo que te han recomendado. O, quizás, acabas de introducir todos tus datos para reservar mesa en la página web de tu restaurante favorito. Una vez finalizada una de las actividades más tediosas que hacer en Internet, bajas a la parte inferior de la página con una mezcla de alivio y satisfacción. El puntero de tu ratón se dirige directo a pulsar el botón “Enviar”, sólo para pararse en seco al encontrarse con unos símbolos que cualquier humano tendría dificultad en comprender para, irónicamente, demostrar que no eres un robot.

Si, en su lugar, lo que estás tratando de hacer es crear una cuenta para registrarte en una página de compras por Internet o en esa red social que tanto has estado tratando de evitar, también puedes encontrarte con pequeños pero fastidiosos mensajes de error que frustren tus intentos. El más temible de todos ellos siendo, sin duda, el de la contraseña. Lejos quedaron los tiempos en los que cualquier cosa que escribieras era suficiente para acceder a tu cuenta. Hoy día no es inusual encontrarse con requisitos tales como: longitud entre 6 y 8 caracteres, que combine mayúsculas y minúsculas, símbolos, números y runas antiguas.

Usabilidad y seguridad, ¿agua y aceite?

Estos aparentemente nimios inconvenientes en la mayoría de ocasiones son suficientes para disuadir hasta al más tenaz de los internautas. De igual manera, son uno de los principales motivos por los que alguien que ha mostrado un interés inicial en un producto o servicio acabe optando por cerrar la pestaña del navegador para seguir su búsqueda en otra página web. Sin embargo, los bots de spam son cada vez más inteligentes y los temibles ciberdelincuentes cada vez utilizan técnicas más sofisticadas para crackear contraseñas. Este hecho hace que no podamos permitirnos el lujo de tomarnos la seguridad de la información que recibimos y enviamos a la ligera.

Entonces, ¿cuál es la solución? ¿Es la seguridad que implementamos en nuestros formularios más importante? ¿O lo es que el mayor número de usuarios posible consiga completar y enviar la información? La respuesta, como en la del eterno conflicto entre usabilidad y seguridad, está en encontrar el equilibrio. Por una parte, no podemos ignorar los requisitos básicos de seguridad que hacen que la información no se comprometa. Pero, por otra, tampoco podemos ponérselo tan difícil al usuario como para que sienta que el esfuerzo que debe hacer para rellenar y enviar los datos que le estamos pidiendo no merece la pena.

A continuación, vamos a revisar los dos puntos que más quebraderos de cabeza ocasionan a la hora de crear formularios y, con un poco de suerte, conseguiremos arrojar algo de luz sobre este dilema.

Captchas

Estos infames códigos alfanuméricos con los que todos nos hemos encontrado en más de una ocasión fueron ideados inicialmente para evitar que ningún robot completara nuestros formularios y los enviara con información considerada como spam. Sin embargo, estos pequeños seres aprenden a la velocidad del rayo y poco a poco están hallando la manera de saltárselos.

Ventana emergente de Facebook solicitando la resolución de una imagen captcha para continuar.

De esta manera, incluir un captcha al final de nuestro formulario no sólo hará que muchos usuarios se den por vencidos y lo abandonen antes de completarlo, sino que en muchas ocasiones resultará incluso inútil para el propósito inicial para el que fueron creados.

Recaptchas

Los recaptchas son una alternativa menos perjudicial que sus antecesores captchas para impedir que los bots maliciosos nos bombardeen con spam. En la versión 2 de esta herramienta, puedes pedir al usuario que simplemente pulse sobre un recuadro que diga “No soy un robot”. O si lo prefieres, puedes optar por integrar un recaptcha invisible en la página para validar en la recámara las peticiones que realice el visitante.

Animación de recaptcha validando la petición después de pulsar sobre el recuadro junto a la frase "No soy un robot".

La tercera y última versión trae aún mejores noticias: te permite verificar si las interacciones ocurridas en tu página son legítimas o no sin necesidad de que el usuario haga clic en un elemento en concreto. En su lugar, asigna al visitante una puntuación basada en la forma en la que interactúa con tu página web. Cuanta más alta sea la puntuación, más se acercará el comportamiento del visitante a uno humano. Así, no será necesario ningún otro método de verificación cuando complete y envíe un formulario.

Honeypots

Otra manera de evitar recibir información no deseada es esconder tarros de miel o honeypots en los rincones de nuestro formulario, a los que los bots acudirán como si de osos se trataran.

Este método se basa en el hecho de que la mayoría de estos malintencionados robots sólo prestan atención al HTML de la página. No son capaces, por el momento, de reconocer ni las hojas de estilo CSS ni el lenguaje de programación JavaScript. De esta manera, podremos usar cualquiera de estos dos lenguajes para esconder campos de formularios a los usuarios, que los robots rellenarán irremediablemente. Con esta técnica podrás discernir si un usuario es un robot siempre y cuando haya completado este campo invisible para el ojo humano.

Código HTML y jQuery de ejemplo para evaluar si cierto campo de un formulario ha sido completado.

Cómo evaluar si cierto campo del formulario ha sido completado utilizando jQuery

Contraseñas

Como usuarios de diferentes servicios en la red, cada vez estamos más concienciados de la importancia que tiene el contar con contraseñas seguras. Cuando llega el momento de introducir una contraseña en el proceso de creación de una nueva cuenta, el usuario esperará en mayor o menor medida que se le pidan ciertos requerimientos mínimos de seguridad. De esta manera, ya empezamos con algo de ventaja a la hora de discernir cómo plantear este farragoso campo.

Requisitos

El primer paso que debemos dar es comunicar cuáles son los requisitos con los que debe cumplir la contraseña de una forma clara y concisa. Recuerda que tu mensaje está dirigido a los seres humanos que han entrado en tu página, con lo que ser amable y cercano siempre será tu apuesta más segura para garantizar que tu visitante tenga una buena experiencia.

Cuadro de texto junto a los campos de creación de contraseña en un formulario indicando cuáles son los requisitos de la misma.

Errores

Si el usuario no ha prestado toda la atención que debería, nuestro siguiente paso será tratar de diseñar campos de error lo menos fastidiosos posibles. Al igual que las instrucciones, el mensaje de error en la contraseña tendrá que indicar con el menor número de palabras posible cuál ha sido el error y cómo solucionarlo. A su vez, es recomendable evitar caer en un tono demasiado alarmista.

Formulario con mensajes de error bajo cada uno de los campos indicando cuáles son los requisitos para completar cada uno.

Fuera máscaras

A la hora de optimizar el diseño de formularios, la máxima que debes aplicar es “menos es más”. Cuanto menos campos tenga tu formulario, más fácil será completarlo. Así, el número de personas que envíen sus datos es muy probable que aumente.

Es en este punto cuando hemos de plantearnos si necesitamos recurrir a una de las técnicas utilizadas hasta la saciedad en el diseño de formularios: la repetición de la contraseña. Hubo un tiempo en que era necesario solicitar la contraseña dos veces para comprobar que no se había introducido ningún carácter de manera no intencionada en el primer intento. Sin embargo, tan sólo era porque a nadie se le había ocurrido todavía incluir ninguna opción para mostrar la contraseña. Esta última técnica ofrece una solución mucho más fiable al desenmascarar lo que ha escrito el usuario para que pueda comprobar que es, en efecto, lo que tenía en mente. De igual manera, elimina un campo del formulario que ha acabado por convertirse en redundante e innecesario.

Sucesión de pantallas en las que se muestra el texto introducido en el campo de la contraseña en una página de autenticación.

Estas son algunas técnicas que puedes utilizar en el diseño de formularios seguros que no desmotiven a tus usuarios. La mala noticia es que están lejos de ser una solución milagrosa que valga para todo. Dependiendo de lo preocupado que estés por la seguridad, será recomendable usar una o varias de estas medidas para que no tengas que renunciar a la usabilidad.

¿Qué te han parecido estas técnicas? ¿Tienes experiencia utilizando alguna de estas soluciones, o has descubierto alguna otra que te haya dado buenos resultados? Anímate y déjanos tu comentario en la parte inferior de esta página (te prometemos que no hay que solucionar ningún captcha).