?
Ist doch ganz einfach, zuerst erzeugst du eine Session, in der du einen zufällig generierten String abspeicherst. Diesen String schreibst du auf eine Grafik und forderst den Nutzer dazu auf, diese abzutippen.
Auf der nächsten Seite kontrollierst du dann, ob der eingegebene String den in der Session gespeicherten entspricht.
Wegen den erzeugen von Bildern:
http://php.net/imagecreate
http://php.net/imagestring
http://php.net/imagejpeg
Und falls ich was vergessen haben sollte:
http://php.net/image
Wie du nen zufälligen String erzeugst findest du am Besten mit Google selber raus, das weiß ich nämlich selbst gerade nicht.
Mit rand() paar Zahlen erzeugen und diese mit chr() in ein Zeichen umwandeln wäre vielleicht eine Möglichkeit, da gibt es aber sicher noch schönere Lösungen. Naja, die Links wären da:
http://php.net/rand
http://php.net/chr