Hi!
Wie heißt dein Script?
Solche Scripte werden oftmals von Bots mit Hilfe von Suchmaschinen gefunden.
Wenn dein Script nicht kontakt.php, kontaktformular.php oder ähnlich heißt, dann bist du schonmal ein klitzekleines bißchen sicherer.
Gleiches gilt für die Formularfelder mit den typischen Namen: "Name", "Vorname", "Email", ...
Ich habe ab und zu schon Erfolg damit gehabt, indem ich mein Script einfach deinemeinung.php genannt und die Formularfelder in "feld1", "feld2", ... umbenannt habe.
Aber wenn das nicht helfen sollte, mußt du dir natürlich besseres einfallen lassen.
Captchas bekämpfen zwar wirkungsvoll den Spam, bringen aber auch schwerwiegende Nachteile mit sich, wie ich finde.
User mit Textbrowsern oder Sehbehinderte mit Screenreadern sind hier aufgeschmissen.
Das möchte ich ungern in Kauf nehmen und verzichte deswegen immer auf Captchas (sofern dies nicht der Kundenwunsch ist).
Ich gehe daher meist andere Wege.
Eine Möglichkeit wäre es, eine kleine Zeitprüfung einzubauen.
Der normale, menschliche User benötigt einige Zeit so ein Formular auszufüllen, während ein Bot dieses in weniger als einer Sekunde ausfüllt und abschickt.
Baue eine kleine Prüfung ein und nimm nur Eingaben an, wenn zwischen Generierung des Formulars und dem Abschicken mehr als z.B. 2 oder 3 Sekunden vergangen sind.
Alles andere ignorierst du dann - oder gibst eventuell auch einen Hinweis aus.
Das hat bei mir oftmals gut geholfen, den Spam unter Kontrolle zu bringen.
Schöner Gruß,
rob