Ciao. Temo che non esista un metodo risolutivo. Si fa un gran parlare ultimamente di captcha (cioè l'inserimento di numeri e immagini distorte) in un form che l'utente deve ricopiare e teoricamente servirebbe a distinguere l'utente umano dal bot. Il problema è che anche gli spambot si stanno aggiornando e molti di questi captcha sono facilmente eludibili.
Ti rimando a questo interessante articolo.
http://php.html.it/articoli/leggi/16...t-dei-messagg/