Antworten

Mailformular schützen

Um sich vor Missbrauch eines Formulares zu schützen, können Sie bereits vorgefertigte Mail-Scripte verwenden. Ein sehr flexibel anpassbares Mail-Script ist z. B. der bekannte 'PHPMailer', hierbei müssen Sie lediglich das Formular selbst erstellen und die Konfiguration des Mailers vornehmen. Viele bekannte Anwendungen wie z. B. Wordpress haben diesen bereits integriert.
Sollten Sie Ihr Mailscript dennoch selbständig programmieren wollen, empfehlen wir dringlichst folgende Massnahmen zu berücksichtigen:

  • Prüfen Sie immer alle Felder auf deren Inhalte! Ein Postleitzahlen-Feld dürfte kaum Buchstaben enthalten, ein E-Mail-Feld keine Leerschläge oder andere nicht erlaubten Sonderzeichen, ein Vor- / Nachname keine Zahlen, etc. Geben Sie für jedes Feld auch eine maximale Zeichenlänge an, ein Vorname wird kaum 255 Zeichen benötigen.
  • Sichern Sie Ihre Formulare immer mit einem Captcha-Bild, unabhängig davon, ob Sie Ihr Mailscript vorgefertigt ist oder Sie es selbst schreiben! Ein solches Captcha beinhaltet jeweils einen wechselnden Zahlen- und / oder Buchstabencode, der nur für das menschliche Auge 'sichtbar' ist und als Bestätigung vor dem Senden manuell durch den User eingegeben werden muss. Fehlt beim Absenden des Formulars dieser Code oder ist dieser falsch, wird das Script abgebrochen, da offensichtlich versucht wird, das Formular automatisiert abzuschicken.

Optional

  • Prüfen Sie auf Zeilenumbrüche: Formularfelder - ausser mehrzeiliger Textfelder - erlauben kein manuelles Einfügen von Zeilenumbrüchen. Sollte Ihr Script also ein solches vorfinden (welches verwendet wird um den Header einer Mailfunktion zu fälschen), kann dieses ebenfalls gleich abgebrochen werden, da es sich hierbei ganz sicher um modifizierte Feldinhalte und somit um einen Missbrauchsversuch handelt.
  • Eine weitere - allerdings nur bedingt sichere - Massnahme wäre nach dem Senden den HTTP-Referer zu prüfen, also jene Adresse, welche auf die Seite mit Ihrem Mailscript verwies - was im korrekten Fall die URL Ihres Formulares sein müsste, sofern Ihr Script in einer eigenständigen Datei gespeichert wurde. Das Script prüft hierbei, ob die empfangene Anfrage tatsächlich vom dazugehörigen Formular stammt oder nicht. Ein echter POST-Request hat immer eine Seite, wo die Anfrage hergekommen ist. Ein gefälschter POST-Request besitzt keine 'Herkunft', der Wert für den HTTP-Referer wäre also somit leer.
Hinweis:
Beachten Sie: Es gibt Browser, die das manuelle Deaktivieren der Refererübermittlung erlauben und so ebenfalls einen leeren Wert liefern. Verwenden Sie diese Massnahme also höchstens in Kombination mit einer der oben Aufgeführten und nicht ohne den User darüber zu informieren, weshalb das Formular nicht gesendet wurde.

Entsprechende Beispiele und Scripts finden Sie auch überall im Netz.

Link zu diesem Artikel: https://support.hostfactory.ch/artikel/mailformular-schützen/
URL in Zwischenablage kopieren