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...
Tipico CAPTCHA usado por Google
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
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.