FAQs und Anleitungen

Durchsuchen Sie unsere Wissensdatenbank

Mailformular schützen

Um sich vor Missbrauch eines Formulares zu schützen, können Sie bereits vorgefertigte Formularvorlagen verwenden. Ein sehr flexibel anpassbares Mailformular finden Sie z.B. unter Ein Mailformular erstellen. Dieses beinhaltet bereits einige der untenstehenden Sicherheitsprüfungen. Sollten Sie Ihr Mailscript 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.
  • Schliessen Sie bereits im voraus alles aus, was nicht der korrekten Notation für das jeweilige Feld entspricht: ein bestimmter Zeichensatz (Zahlen, Buchstaben, Sonderzeichen), eine bestimmte Syntax (E-Mail!) oder eine bestimmte Anzahl Zeichen (Telefon, PLZ). 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! Ein solches Bild beinhaltet einen 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, kann das Script abgebrochen werden, da offensichtlich versucht wird, das Formular automatisiert abzuschicken.
  • 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 keine korrekt versendete Nachricht handelt.
  • Eine weitere - allerdings nur bedingt sichere - Massnahme wäre auf 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. 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.
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.