Længlich: Kontaktformular inkl. Dateianhang mit PHP

Beitrag lesen

Shalom!

Diese beiden Zeilen sind gefährlich. Hier werden Benutzereingaben ungeprüft in den eMail-Header geschrieben. Damit kann der Benutzer z.B. beliebig viele eMail-Adressen als CC eintragen und auf diese Weise Spam versenden.
Du musst unbedingt unerlaubte Zeichen herausfiltern, mindestens den Zeilenumbruch!

Hier kann man im Prinzip etwas radikal vorgehen. Wenn ein Zeilenumbruch in einem dieser Werte vorkommt, kann man mit hoher Wahrscheinlichkeit daraus schließen, dass das keine menschliche Eingabe sondern die eines Bots war. Da man diese nicht behandeln will, kann man an der Stelle komplett die weitere Verarbeitung abbrechen. Normalerweise bin ich zwar gegen die Verwendung von die(), doch in diesem Fall trifft es keinen unschuldigen Anwender und ein Spambot braucht keine gestylte Fehlermeldung "zu Gesicht" bekommen.

Da hast Du völlig recht. Ich verwende normalerweise auch kein die(), aber in diesem Fall ist es absolut gerechtfertigt. Bots lesen die Antwort eh nicht, und wenn es ein Mensch war, war es so gut wie sicher ein Hacker oder Spammer - die Fehlermeldung muß also auch inhaltlich nicht unbedingt so höflich ausfallen wie sonst.
Man könnte auch Patricks Stinkfinger-Bild verwenden... ;-) Dafür müßte man aber den HTTP-Header ändern, also doch wieder kein die().

Viele Grüße vom Længlich