Imagen de validación de formularios con PHP

Imagen de validación de formularios con PHP

Introducción

Actualmente, cuando una web desea obtener datos de un usuario le proporciona un formulario que debe rellenar con la información que se desea recoger y que serán guardados (normalmente) en una base de datos.

Esto se hace para evitar evitar que programas automatizados rellenen las bases de datos que recogen esta información de basura.

Para este gran problema, actualmente se opta por enviar una imagen aleatoria (que contiene un texto alfanumérico) junto con el formulario. De manera que cuando el usuario desee enviar los datos, deba indicar que texto es el que se muestra en la imágen.

(Estos programas automatizados, normalmente no son capaces de detectar que texto se muestra en la imagen, por lo que nuestra web estará libre de su ataque malicioso).

El motivo de este tutorial es intentar utilizar otra técnica que la que se ven en otros tutoriales que hay en el Web. Desde mi punto de vista la técnica que se muestra en estos tutoriales es mejorable, pues lo que hacen es generar una imagen aleatoria y guardarla en el disco duro del servidor y permanece hay mientras el usuario no envie el texto de validación correcto… Esto hace que el servidor se llene de miles de imágenes y sea costosisimo luego de eliminar a mano. (Por supuesto siempre se puede hacer un script que las borre automáticamente utilizando algún criterio. Por ejemplo, que borre aquellas imágenes que lleven más de una hora en el disco duro.

Nosotros lo vamos hacer igual, pero sin guardar ninguna imagen en el disco duro del servidor.. más que nada por que creo que no hace falta hacerlo para llegar al fin deseado.

Vamos a ver un Ejemplo

Este es el Script al que accede el usuario y que envia el formulario que tiene que rellenar el usuario. El script es autocomentado (Todo el código fuente debería serlo) .

Este es el Script getImage.php genera la imagen asociada a la variable almacenada en sesión.

El siguiente script processCommentForm.php es el que recibe los datos que se envian desde el formulario.

Bueno, espero que os haya sido de utilidad este tutorial.

En Autentia, empresa en la cual trabajo, nos gusta compartir el conocimiento. Aquí teneis un poquito más de nuestra aportación. Si algún día necesitais un poco de ayuda con vuestros proyectos o necesitais de formación ya sabéis donde encontrarnos.