Ich müsste doch daher irgendwie in PHP prüfen, ob denn das Post-Request legitim ist, z.B. ob der Referrer meine Domain ist.
Oder denke ich hier falsch?
Würde mich über Tipps/Ideen freuen.
Ja, du denkst hier falsch.
Zunächst einmal sollte das Kontaktformular an eine E-Mail Adresse gehen und nicht an: entscheide selbst wohin.
Ebenfalls sollte das FROM Feld statisch gesetzt sein und nicht aus deinem Formular stammen.
Das verhindert Backscatter-Spam.
Dann solltest du die Input Felder auf Plausibilität checken, sodass in den Feldern tatsächlich das steht, was du erwartest. Hier benutzt man RegEx für.
Dann solltest du eine gescheite SMTP Bibliothek nutzen. Wenn du nur die PHP mail() Funktion aufrufst, kann dir ganz schnell passieren, dass dir jemand einen weiteren Header einschleußt, z.B. einen neuen To-Header, dann hat der Versender Kontrolle über deinen SMTP Server und kann Spam versenden.
Hier eignen sich PHPMailer oder SwiftMailer.
Wenn es irgendwie möglich ist, würde ich aber auf Kontaktformulare verzichten. Wer etwas von dir will, kann dir doch eine E-Mail schicken.
Als E-Mail Nutzer bist du da nämlich auf der rechtssicheren Seite - immerhin kann ich nachgucken, was ich dir gesendet habe und ob dein Mailserver das angenommen hat. Beim Kontaktformular geht das eher nicht. Hier könnte man auf die Idee kommen, dem Absender einfach eine Kopie des Formulars zu senden, aber dann hast du wieder eine Spamschleuder.
Ich denke Kontaktformulare sind einfach nicht mehr zeitgemäß, und es hat sowieso keiner Lust die Dinger auszufüllen.
Just my 5 cents.