Tienes un ejemplo en las FAQ's de este foro ..
http://www.forosdelweb.com/showthrea...501#post815501
Usa simplemente sesiones .. se genera la sesión con el "código" y el mismo se genera como un gráfico .. se presenta junto con tu formulario y se compara lo que el usuario ingresó con el valor de la sesión generada.
Un saludo,
PD: modificaré el título de la FAQ para incluir el término en ingles de esa funcionalidad: Captcha (gracias GatorV)