Cargando



Laravel

En este curso vamos a abordar uno de los frameworks más robustos de PHP, partiendo desde lo básico que es su instalación hasta la implementación de código complejo.


may 04 2014 06:14
Profesional
sep 07 2015 15:30

Crear Captcha



Todo lo que está en internet está expuesto a algún tipo de ataque o de algún uso malicioso, un caso que sucede mucho es el de los robots que hacen múltiples peticiones a los formularios, esto genera varios inconvenientes, el primero es que recibimos datos no deseados en una cantidad masiva y el segundo es que se nos consumen los recursos, si hay muchas peticiones por segundo inclusive puede caer nuestro servicio.

Captcha
Una de las soluciones que se ha implementado y que ha tenido una buena aceptación es la aplicación del captcha, esto es un código en una imagen de difícil lectura para los robots que al introducirse nos permite validar que es una petición genuina hecha por un ser humano.


Existen muchos complementos en el mercado para lograr esto, sin embargo podemos lograrlo desde 0 utilizando solo Laravel.

Construir la Clase Captcha


Lo primero que haremos será construir la clase Captcha, esta lo que hará es generar una imagen con letras y números aleatorios que solo podrán ser leídos por un ser humano y no por un robot.

Para lograr esto vamos a ubicarnos en el directorio app/libraries de nuestra aplicación Laravel, ahí crearemos un archivo llamado Captcha.php, este será el contenedor de nuestra clase, dicha clase solo contendrá un método llamado make() que es quien se encargará de generar la imagen, veamos el siguiente ejemplo:


laravel_captcha.jpg


Actualizar el Composer


Ahora que ya tenemos nuestra clase creada debemos actualizar nuestro archivo composer.json, de esta forma nuestra aplicación podrá cargar por defecto nuestra nueva clase y así podremos utilizarla en cualquier parte que necesitemos.

Para ello en nuestro archivo composer.json vamos a incluir la línea app/libraries como vemos en el ejemplo:

laravel_captcha2.jpg


Una vez actualizado el archivo ahora debemos hacer que la aplicación tome los cambios y recargue la configuración, para ello podemos correr el siguiente comando en la consola de Laravel:

php composer.phar dump-autoload
Ya con esto podremos utilizar nuestra clase Captcha que acabamos de construir.

Aplicación del Captcha


Ya que hemos realizado todo lo que requerimos, ahora si podemos empezar a utilizar nuestro nuevo componente, para ello debemos hacer un formulario y en la ruta debemos crear además una variable que puede contener a la imagen, así la tendremos disponible.

Dentro de nuestra vista debemos imprimir la imagen y colocar un campo donde se pueda colocar el texto aleatorio y finalmente en el método POST de nuestro formulario debemos validar que si el texto corresponde con el generado dejemos pasar el contenido si no debemos retornar a la vista del formulario y cambiar la imagen.

Si todo resulta de forma exitosa, los robots intentarán hacer envió de datos en nuestro formulario, pero como no tendrán una respuesta satisfactoria entonces desistirán y pasaran a un nuevo objetivo, ahorrándonos así dolores de cabeza y la recepción de datos spam.

Como vemos el proceso de generación del captcha y su implementación es bastante simple, lo que puede ser un poco más complejo son las validaciones, debemos entonces preocuparnos más por tener a tono el proceso ya que las herramientas son más fácil de poner en marcha que corregir una lógica defectuosa.

¿Te ayudó este Tutorial?


3 Comentarios


Cristina Garcia
jun 10 2014 16:51
De fábula este curso. Muchas gracias Solvetic!!!! (Y jacosta :) )

Enrique Martin
jul 21 2014 14:58
Es la leche este curso. Mil millones de gracias Jacosta y Solvetic!!!!
DE 10.
No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X