Validaciones ✔️

Arabela
Laboratoria Developers
4 min readApr 26, 2017

La validación de los campos de un formulario es una tarea de programación necesaria, aunque muchas veces es un proceso molesto. Para ejecutar la validación por parte del cliente siempre debemos recurrir a scripts, habitualmente en lenguaje JavaScript o emplear alguna librería para verificar que las entradas son del tipo correcto y que estén completas con datos, antes de que el formulario sea enviado. En HTML5 los nuevos atributos de las entradas como required y pattern usados en combinación con selectores de CSS, facilitan la programación y mejora de la interfaz del usuario.

Diferencias entre validar y verificar:

  • Verificación: comprobar que una aplicación software cumple correctamente todos los requisitos
  • Validación: comprobar que una aplicación software sirve para el propósito para el que fue concebida, es decir, que además de cumplir los requisitos sirve para algo.

¿Qué tipos de validaciones complejas existen? Seguridad en Internet.

Una de ellas es CAPTCHA, que es el acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart. Traducido al castellano, Prueba de Turing pública y automática para diferenciar máquinas y humanos.

¿Cómo funciona CAPTCHA?

Consiste en que una persona, y no una máquina, escriba una serie de caracteres que se le muestran distorsionados en pantalla (como en la ilustración), de tal forma que solamente un humano pueda interpretarlos. De este modo nos aseguramos que es una persona y no una máquina con fines ilícitos quien pretende acceder a nuestros servicios web, evitando el spam y el software malicioso.

¿Para que sirve?

CAPTCHA es un programa que debería generar una prueba desafío-respuesta, que los humanos seamos capaces de resolver pero que las máquinas no.

Si queremos que una persona se valide como usuario en una web, o que pueda hacer cualquier comentario sobre una publicación en un blog, e incluso si necesita rellenar un formulario con sus datos personales para contratar cualquier servicio; es necesario que todas estas acciones estén protegidas con mecanismos de seguridad.

De entre todas las herramientas de que disponemos para asegurar nuestro sitio web, destacamos el CAPTCHA . Es fundamental ya que evita:

  • Comentarios basura en los blogs.
  • Protege los servicios web frente a inscripciones masivas.
  • Neutraliza los intentos de falsear los resultados de encuestas mediante votaciones automáticas.
  • Evita las suplantaciones de identidad basadas en ataques de diccionario que prueban con miles de contraseñas en pocos segundos.

Luego de pruebas con CATPCHA, Google lanzó una nueva forma de probar que eres un humano: reCAPTCHA, la evolución del famoso CAPTCHA, desarrollado por el guatemalteco Luis von Ahn y adquirida después por Google.

Únicamente si Google no está enteramente seguro de que eres un humano solicitará la confirmación a través de nuevas opciones, como por ejemplo mostrando a un animal y pidiéndonos encontrar en otras fotografías a los que sean de su misma especie.

reCAPTCHA ayuda a solucionar fuertes problemas de Inteligencia Artificial”, dice Google, y aclara que el CAPTCHA que hasta ahora conocemos ya no es tan seguro para las páginas web, que a menudo son víctimas de confusión por robots informáticos que imitan las actitudes humanas — también llamados bots.

¿Qué es un ReGex?

Una expresión regular, también conocida como regex, regexp(1) y a menudo llamada una expresión racional(2,3) es, en la ciencia computacional teórica y la teoría de lenguaje formal, una secuencia de caracteres que forma un patrón de búsqueda, principalmente utilizada para la búsqueda de patrones de cadenas de caracteres u operaciones de sustituciones.

Por ejemplo, el grupo formado por las cadenas Handel, Händel y Haendel se describe con el patrón “H(a|ä|ae)ndel”.

La mayoría de las formalizaciones proporcionan los siguientes constructores: una expresión regular es una forma de representar los lenguajes regulares (finitos o infinitos) y se construye utilizando caracteres del alfabeto sobre el cual se define el lenguaje.

Es importante que puedas leer este artículo de MDN sobre expresiones regulares y esta guía en chuwiki.

Practiquemos un poco sobre ReGex con estos testeadores:

--

--