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

Los CAPTCHA o Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar a máquinas y humanos) son aquellas imagen con caracteres que aparecen en los formularios para detectar cuando el formulario es llenado por un humano o por un bot (programa especial para automatizar procesos). Veamos un ejemplo de CAPTHCHA...

imagen_captcha.jpg

Tipico CAPTCHA usado por Google

El Formulario

Lo primero que necesitamos para mostrar un CAPTCHA es crear aleatoreamente la secuencia de caracteres que va aparecer en la imagen y guardarla en una variable de session ($_SESSION) para comprobarla luego con la ingresada por el usuario...

<?
session_start();

$captcha_texto = "";

for ($i = 1; $i <= 6; $i++) {
$captcha_texto .= caracter_aleatorio();
}

$HTTP_SESSION_VARS["captcha_texto_session"] = $captcha_texto;
function caracter_aleatorio() {
mt_srand((double)microtime()*1000000);

$valor_aleatorio = mt_rand(1,3);

switch ($valor_aleatorio) {
case 1:
$valor_aleatorio = mt_rand(97, 122);
break;
case 2:
$valor_aleatorio = mt_rand(48, 57);
break;
case 3:
$valor_aleatorio = mt_rand(65, 90);
break;
}

return chr($valor_aleatorio);
}
?>

Luego insertamos el formulario...

<p>Captcha: Formularios mas seguros.</p>
<hr size="1" noshade="noshade" />
<p>Por favor ingrese el codigo que ve en la imagen, sino puede leerlo actualize la pagina.</p>
<p align="center"><img src="crear_imagen.php?<?php echo SID; ?>" /></p>
<form action="verificar.php" method="POST">
<p>Ingrese el codigo:
<input name="texto_ingresado" type="text" id="texto_ingresado" size="30" />
<input type="submit" name="Submit" value="OK" />
</p>
</form>
<p>
<b>Nota:</b> El codigo es sensible a las mayusculas y minisculas</p>



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

- Mostrar el navegador al visitante
- PHP: primer vistazo
- Evitar que las imagenes deformen tu web
- Paginacion en PHP
- Control de permisos en PHP con phpGACL


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 26-05-2012 a las 06:30:48