Tienes una FAQ al respecto:
http://www.forosdelweb.com/showpost....&postcount=123
Con uso de las librerías GD se genera tu código en forma de gráfico y con uso de sesiones se asegura que el código no sea adulterado (comparando el que ingresa tu usuario por el formulario contra el que que se generó y almacenó en una variable de sesión).
Un saludo,