Criando um sistema de Captcha

Existem varias formas de se fazer isso, algumas formas tiveram problema acredito por causa da biblioteca GD, se vc não as tem instaladas.

su
emerge php5-gd

O código abaixo está todo comentado para causar o entendimento.

<?php

//INICIAR A SESSION
session_start();

//INICIAR O HEADER
header('Content-Type: image/png');

//puxar a imagem, vc deve ter essa imagem na pasta, pois ela servirá de base.
$image = imagecreatefrompng("captcha.png") or die ("Não foi possível iniciar a imagem.");

//carregar a fonte, tem de ser no formato gdf, neste caso, google-a
$fonte  = imageloadfont("anonymous.gdf");

//quantidade de caracteres, shuffle para embaralhar e 4 caracteres somente q eu escolhi
$texto  = substr(str_shuffle("AaBbCcDdEeFfGgHhIiJjKkLlMmNnPpQqRrSsTtUuVvYyXxWwZz23456789"),0,4);

//salvar a session
$_SESSION['capcad'] = $texto;

//indicar a cor da fonte
$cor = imagecolorallocate($image,0,0,0);

//junção da imagem com o texto, os numeros referenciam a posição da imagem
imagestring($image, $fonte, 50, 10, $texto, $cor);

//mostrar imagem
imagepng($image);

//liberar memória
imagedestroy($image);
?>

Valeu!