*   >> Lectura Educación Artículos >> tech >> desarrollo web

Captcha - La forma más sencilla de hacer it

Un gran problema hoy en día es el spam. La mejor manera de combatir el spam es Captcha. Captcha hace la diferencia entre un ordenador y un ser humano. Las computadoras no pueden leer el texto de una imagen y es por eso que vamos a utilizar una foto también.

Vamos a empezar con la creación del captcha.php archivo. Este archivo se creará una foto con un texto escrito en él

header ('Content-type: image /jpeg.

'); //Una imagen jpeg será emitida $ width = 60; //Ancho de la imagen $ height = 24; //Altura de la imagen $ Mi_imagen = imagecreatetruecolor ($ ancho, $ altura); //Crear truecolor imagen imagefill ($ Mi_imagen, 0, 0, 0xFFFFFF); //Fondo blanco

Hasta ahora hemos logrado crear una imagen que tiene un fondo blanco, de 60 píxeles de ancho y 24 píxeles de alto.

Vamos a añadir algunas distorsiones:

para ($ c = 0; $ c $ x = rand (0, $ ancho-1); $ y = rand (0, $ Altura-1); imagesetpixel ($ Mi_imagen , $ x, $ y, 0x000000);}

insertada 40 píxeles negros en la imagen Estos píxeles diferentes coordonates cada vez que una imagen se carga

Vamos a escribir el texto en.. el cuadro:..

$ x = rand (1,10); //X coordonate de la esquina superior izquierda $ y = rand (1,10); //Y coordonate de la esquina superior izquierda $ rand_string = rand (10000,99999); //Obtener un número entre 10.000 y 99.

999 imagestring ($ Mi_imagen, 5, $ x, $ y, $ rand_string, 0x000000); //Escribe el número obtenido anteriormente en la imagen

Vamos a guardar la cadena escrita en la imagen en una cookie. Vamos a leer esta cookie vez se envía un formulario para comparar datos.

setcookie ("cookie-código de imagen", (md5 ($ rand_string)) , el tiempo () + 3600 "/"); imagejpeg ($ Mi_imagen); //Cree el imagedestroy imagen jpeg ($ Mi_imagen); //Eliminar la imagen jpeg

En este ejemplo el nombre de la cookie es la galleta -captcha, su contenido será el valor codificado md5 de la cadena aleatoria obtenida antes (el número escrito en la imagen), será válido durante una hora en todo su dominio.


La imagen se borra (imagedestroy ) para ahorrar espacio en el servidor

El archivo captcha.php completa será:

header ('Content-type: image /jpeg ".); $ width = 60; $ height = 24; $ Mi_imagen = imagecreatetruecolor ($ ancho, $ altura); imagefill ($ Mi_imagen, 0, 0, 0xFFFFFF); for ($ c = 0; $ c $ x = rand (0, $ ancho-1); $ y = rand (0, $ Altura-1); imagesetpixel ($ Mi_imagen, $ x, $ y, 0x000000);} $ x = rand (1,10); $ y = rand (1,10); $ rand_string = rand (10000,99999); imagestring ($ Mi_imagen, 5, $ x, $ y, $ rand_string, 0x000000); setcookie ("cookie-código de imagen", (md5 ($ rand_string)), el tiempo () + 3600 "/"); imagejpeg ($ Mi_imagen); imagedestroy ($ Mi_imagen);?>

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.