Du kannst auch verschiedene andere Möglichkeiten probieren.
Z.B. von der Formular-Seite aus ein Cookie setzen, dass das bei einer Bestätigungsseite oder so überprüft wird, oder du könntest ein <input type="hidden"> auf deiner Formular-Seite verstecken, und dann beim Formular-Auswerten überprüfen, ob wirklich der Inhalt des versteckten input-Feldes wirklich richtig rübergesendet wurde.
Vielleicht lassen sich die Bots auch anhand des UserAgents oder eines anderen HTTP-headers filtern.