Hay muchos y muy variados en Internet. En alguna ocasión he usado el que
viene en sBlog. Es muy sencillo de implementar y para la mayoría de los
casos suficiente para evitarnos problemas de spam.
En código es:
<?php
$key = (array_key_exists('k', $_GET) && strlen($_GET['k']) == 4) ?
$_GET['k'] : strtolower(substr(md5(rand()), 0, 4));
$im = imagecreatetruecolor(40, 20);
$bg = imagecolorallocate($im, 0, 0, 0);
$col_text = imagecolorallocate($im, 255, 255, 255);
imagestring($im, 4, 4, 1, $key, $col_text);
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
Luego llamas a este archivo desde el que lo necesites.
Te generas el código (en este caso de 4 numeros y letras):
<?php $k = strtolower(substr(md5(mt_rand()), 0, 4)); ?>
En el formulario donde lo uses poner un campo oculto como éste:
<input type="hidden" name="h" id="h" value="<?php echo $k; ?>" />
Y llamas a la imagen como:
<img src="as_img.php?k=<?php echo $k; ?>" />
Por último, una vez se a enviado el formulario, compruebas que el valor del
campo oculto "h" es igual que el escrito por el usuario en el formulario.
Para más seguridad se podrían haber usado variables de sesión para guardar y
pasar los valores de "h", pero eso ya te lo dejo a ti.
Saludos,
Julio Barroso
""Ricardo Ríos"" <[EMAIL PROTECTED]> escribió en el mensaje
news:[EMAIL PROTECTED]
| Hola amigos listeros alguien conoce algun codigo libre de un captcha en
php
| , gracias por sus comentarios.
|
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php