La idea vá encaminada pero tu script es violable (que todos lo son en diferente medida

).
El error que estás cometiendo es proporcionar el código de seguridad en el mismo código fuente, se puede crear un script para acceder a él directamente, tanto dónde lo muestras como en el campo oculto, es indiferente.
Lo que debes hacer es:
- primero, utilizar una variable de sesión para conservar el código de seguridad para tu uso, no mostrarlo en el código fuente.
- segúndo término ese código fuente deberías proporcionarlo mediante una imágen con el mismo fin --no darlo para su fácil acceso-- para ello ocupa la librería GD.
- tercero, ocupar una fuente "distorcionada" y propia para generar dicha imágen... esas imágenes con las letras chuecas, de colores y con fondos que crean ruido no son de a gratis, claro, hay que mantener el enquilibrio para que se legible.
En las FAQ tienes un código para generar dichas imágenes de seguridad que podrás utilizar ya sea implementandolo ó analizándolo para crear el tuyo propio (allá tú

).
El nombre técnico es "CAPTCHA" --imágenes CAPTCHA-- por si necesitas buscar mayor información.
Suerte!