Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Captcha: Diferenciando automaticamente humanos de maquinas con PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Captcha: Diferenciando automaticamente humanos de maquinas con PHP (2)

La imagen
Ahora en el archivo "crear_imagen.php" debemos crear la imagen mostrando los caracteres creados anteriormente y guardados en una variable de session...

<?

//creamos la imagen definiendo el tamaño del alto y el ancho (150, 40)
$captcha_imagen = imagecreate(150,40);

//creamos el color negro para el fondo y blanco para los caracteres
$color_negro = imagecolorallocate ($captcha_imagen, 0, 0, 0);
$color_blanco = imagecolorallocate ($captcha_imagen, 255, 255, 255);

//pintamos el fondo con el cplor negro creado anteriormente
imagefill($captcha_imagen, 0, 0, $color_negro);

//iniciamos la session para obtener los caracteres a dibujar
session_start();
$captcha_texto = $HTTP_SESSION_VARS["captcha_texto_session"];

//dibujamos los caracteres de color blanco
imagechar($captcha_imagen, 4, 20, 13, $captcha_texto[0] ,$color_blanco);
imagechar($captcha_imagen, 5, 40, 13, $captcha_texto[1] ,$color_blanco);
imagechar($captcha_imagen, 3, 60, 13, $captcha_texto[2] ,$color_blanco);
imagechar($captcha_imagen, 4, 80, 13, $captcha_texto[3] ,$color_blanco);
imagechar($captcha_imagen, 5, 100, 13, $captcha_texto[4] ,$color_blanco);
imagechar($captcha_imagen, 3, 120, 13, $captcha_texto[5] ,$color_blanco);

//indicamos que lo que vamos a mostrar es una imagen
header("Content-type: image/jpeg");

//mostramos la imagen
imagejpeg($captcha_imagen);

?>

Verificar
Ahora lo que nos queda por delante es verificar que el código ingresado por el usuario coincida con el CAPTCHA creado, esto lo hacemos en el archivo "verificar.php"...

<?

session_start();

$texto_ingresado = $HTTP_POST_VARS["texto_ingresado"];
$captcha_texto = $HTTP_SESSION_VARS["captcha_texto_session"];

if ($texto_ingresado == $captcha_texto) {
echo "Usted ingreso el codigo correctamente.";
} else {
echo "El texto ingresado no coincide. Por favor intentelo de nuevo!";
}

session_unset();
session_destroy();

?>




Autor: Mauro Rondinelli
http://www.elguruprogramador.com.ar/usuarios/perfil.asp?id=1

Usuarios que han visto este tema también han visto...

- Función GetImageSize() en PHP
- Cachea tus páginas en 5 pasos con PHP
- Calcular días hábiles en PHP
- Mostrar contenido segun el pais en PHP
- Redondear decimales en PHP


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 25-05-2012 a las 23:55:16