Búsqueda  
   
Ve por categoría





¡Aprender a monetizar tu página Web!
:
:

¡Informate sobre marketing online con artículos!
:
:
Artículo.org .: Ordenadores y Tecnología .: Sistema captcha en php

Sistema captcha en php

Escrito por: kaiowa
La idea básica para crear un Captcha es generar primero un texto aleatorio, luego basado en este texto generamos una imagen la cual se muestra al usuario, finalmente se compara el texto ingresado por el usuario con la palabra aleatorio generada.

Generar el Captcha
La primero es crear una imagen con un texto aleatorio, para ello un archivo llamado captcha.php el cual creará dinámicamente el texto. Para ello creamos una función llamada randomText que se encarga de generar una cadena de texto aleatorio, acepta un parámetro el cual le indica cuantos caracteres puede tener el texto generado.

Código
      // archivo: captcha.php
function randomText($length) {
$pattern = "1234567890abcdefghijklmnopqrstuvwxyz";
for($i=0;$i<$length;$i++) {
$key .= $pattern{rand(0,35)};
}
return $key;
}

Lo siguiente es crear una variable de sesión para guardar el texto generado, luego de ello tomamos una imagen que contiene el fondo para el captcha en nuestro caso la imagen es bgcaptcha.gif, luego creamos el texto sobre esta imagen para luego mostrarla en el navegador como imagen enviándole un header indicando el tipo de archivo.

Código
      session_start();
$_SESSION['tmptxt'] = randomText(8);
$captcha = imagecreatefromgif("bgcaptcha.gif");
$colText = imagecolorallocate($captcha, 0, 0, 0);
imagestring($captcha, 5, 16, 7, $_SESSION['tmptxt'], $colText);
header("Content-type: image/gif");
imagegif($captcha);

Crear el formulario para verificar el Captcha
Lo siguiente es mostrar la imagen generado para que el usuario pueda leerlo e ingresar el texto en el formulario para ser verificado. Naturalmente esta verificación será parte de un formulario mucho mas grande pero solo incluimos un campo para propósitos de ejemplo. Esto lo incluimos en el archivo captchademo.php, note que al incluir la imagen hemos colocado la ruta al php que genera la imagen.

Código
      Ingresar el texto mostrado en la imagen 









Verificar el texto Ingresado
Lo siguiente es verificar el texto ingresado en el formulario y compararlo con la variable $_SESSION['tmptxt'] que contiene el texto generado aleatoriamente. Para ello verificamos que se haya enviado el formulario y luego comparamos el texto ingresado con el texto que tenemos en la variable de sesión.

Código
      session_start();
if ($_POST['action'] == "checkdata") {
if ($_SESSION['tmptxt'] == $_POST['tmptxt']) {
echo "Bienvenido";
} else {
echo "Inténtalo nuevamente";
}
exit;
}
 
 
 
 
Zonaprecios 

Fuente del artículo http://www.articulo.org/autores_perfil.php?autor=878

http://www.zonaprecios.com
Ver perfil

¿Que calificación pondría a este artículo?

Comentarios

Añadir comentario
No hay ningún comentario.

Artículos relacionados

article Preámbulo: Sistema De Gobierno Suarez
Los capítulos temporalmente publicados del libro de esta web están dedicados a todos aquellos que contribuyeron en su día a hacer de una España de régimen totalitario como...

(Sin calificación)  12-27-2007    veces visto: 611   
article La Importancia del Sistema de Trabajo
Uno de los principales problemas para desarrollar una Organizacion de Multinivel Exitosa, es que no existe un "Sistema" que todos los afiliados puedan "Duplicar" de manera Sencilla. Es...

(Sin calificación)  9-5-2007    veces visto: 641   
article Hypercard: el primer sistema de hipertexto que se popularizó
Fue desarrollado por Bill Atkinson para las computadoras Macintosh mientras trabajaba en Apple Computer Inc.El proyecto surgió en 1985 como una manera sencilla de crear programas en las...

(Sin calificación)  2-5-2008    veces visto: 308   

Sobre este artículo
Más de este autor
article clase php para insertar videos de youtue
Con esta clase en php podreis insertar en vuestras web videos embedidos de youtube y las capturas de imagenes que tienen: class YouTube {//recoge el id del videofunction _GetVideoIdFromUrl($url)...
(Sin calificación) 
1-27-2008    Veces vista: 438
article Sincronizacion de Marcadores
Seguramente te haya pasado que tengas favoritos en un equipo por ejemplo en el del trabajo y luego cuando quieres recuperalos en otro equipo no te acuerdas. Mediante Foxmarks podrás tener siempre...
(Sin calificación) 
2-23-2008    Veces vista: 266
article Aumentar swap con fichero de intercambio
Linux ademas de utilizar una particion, tambien puede usar un archivo como swap. Algunos programas como compiladores hacen bastante uso de la memoria virtual. Para dedicar 64 MB extras, por ejemplo, como...
(Sin calificación) 
2-23-2008    Veces vista: 217
article Dividiendo un archivo en partes (split)
El comando "split" es un comando muy útil para dividir un archivo grande en varios mas pequeños.Os pongo un ejemplo mejor.Miramos el tamaño del fichero linux.txt: $ du...
(Sin calificación) 
2-23-2008    Veces vista: 291
article Acelera contenidos - PHP Cache
CACHEANDO CONTENIDOS EN PHP Imagina que tienes un portal de contenidos en el que digamos que en la pagina principal hay muchos accesos a base de datos. Cada vez que un usuario accede a dicha pagina se...
(Sin calificación) 
2-23-2008    Veces vista: 255
Más artículos

.: Powered by Lore 1.5.5