VeryAppı
Technik & Recht

Webformulare absichern: Spam, Injections, DSGVO

Veröffentlicht am 19. November 2025·7 Min. Lesezeit

Ein unzureichend abgesichertes Webformular setzt eine Website drei unterschiedlichen Risiken aus: automatisiertem Spam, der das Postfach verstopft, Code-Injections, die die Datenbank kompromittieren, und Verstößen gegen die DSGVO bei der Erhebung personenbezogener Daten. Diese drei Risiken erfordern jeweils eigene, sich ergänzende Maßnahmen — keine ersetzt die andere.

Das eigentliche Problem: Ein Formular ist eine offene Tür zum Server

Anders als eine statische Inhaltsseite nimmt ein Formular externe Eingaben entgegen und leitet sie zur Verarbeitung an den Server weiter (Versand einer E-Mail, Speicherung in einer Datenbank). Genau diese Interaktion macht es zu einem bevorzugten Ziel: Jedes Eingabefeld ist ein potenzieller Einfallspunkt für schädliche Inhalte, sei es eine simple Spam-Nachricht oder ein ausgefeilterer Angriffsversuch.

Die Bots, die das Web durchsuchen, zielen nicht auf bestimmte Websites ab — sie testen systematisch jedes Formular, das sie finden, auf der Suche nach einer ausnutzbaren Schwachstelle. Ein ungeschütztes Kontaktformular erhält in der Regel schon wenige Tage, manchmal nur Stunden, nach dem Livegang Spam.

Schutz vor automatisiertem Spam

  1. Ein Honeypot-Feld einbauen: ein für Menschen unsichtbares Feld (per CSS ausgeblendet), das aber von Bots automatisch ausgefüllt wird, sodass deren Absendung still verworfen werden kann, ohne Aufwand in ein Captcha zu stecken.
  2. Ein Captcha integrieren (reCAPTCHA, hCaptcha oder vergleichbar) bei besonders exponierten Formularen, wobei moderne Versionen zu bevorzugen sind, die legitimen Besuchern nicht bei jedem Mal einen visuellen Test aufzwingen.
  3. Die Sendehäufigkeit begrenzen von derselben IP-Adresse aus, um massenhafte automatisierte Übermittlungen zu blockieren.
  4. Das Format der Felder prüfen (gültige E-Mail-Adresse, plausible Telefonnummer), bevor die Übermittlung akzeptiert wird.
  5. Verdächtige Links und Schlüsselwörter filtern im Nachrichteninhalt — eine sinnvolle Ergänzung, aber allein nie ausreichend.

Code-Injections vermeiden

Eine Injection entsteht, wenn ein Angreifer ausführbaren Code in ein für einfachen Text vorgesehenes Formularfeld einschleust, um die Datenbank zu manipulieren (SQL-Injection) oder Code im Browser anderer Besucher auszuführen (XSS-Injection). Die Abwehr beruht auf zwei nicht verhandelbaren Prinzipien:

  • Daten immer serverseitig validieren und filtern, niemals nur im Browser: Eine clientseitige Validierung lässt sich von einem Angreifer, der das Formular nicht wie angezeigt verwendet, leicht umgehen.
  • Prepared Statements verwenden im Code, der die Formulardaten verarbeitet — eine Standardpraxis, die SQL-Injections strukturell verhindert, statt zu versuchen, jedes Feld manuell zu "bereinigen".

Bei einem CMS wie WordPress übernehmen in der Regel der Softwarekern und anerkannte Formular-Plugins diese Schutzmaßnahmen, sofern sie aktuell gehalten werden. Ein selbst programmiertes Formular ohne diese Vorkehrungen bleibt die risikoreichste Konfiguration.

Die DSGVO bei erhobenen Daten einhalten

Jedes Formular, das personenbezogene Daten erhebt (Name, E-Mail, Telefonnummer), unterliegt der DSGVO, unabhängig von der Größe der Website. Die konkreten Punkte, die zu prüfen sind:

  • Das Formular fragt nur die für seinen Zweck zwingend erforderlichen Daten ab (ein Kontaktformular braucht kein Geburtsdatum).
  • Ein klarer Hinweis erläutert, warum die Daten erhoben werden und wer sie verarbeitet.
  • Ein Link zur Datenschutzerklärung ist über das Formular zugänglich.
  • Die Einwilligung für eine sekundäre Nutzung (etwa einen Newsletter) ist getrennt und nicht vorangekreuzt.
  • Die Daten werden für eine festgelegte Dauer aufbewahrt und danach gelöscht, sofern keine gesetzliche Pflicht dagegen spricht.

Was ein Formular in der Praxis angreifbar macht

  • Vollständig fehlende serverseitige Validierung bei übermäßigem Vertrauen in die Validierung im Browser.
  • Ein Datei-Upload-Feld, das jedes Format akzeptiert und so das Hochladen schädlicher Skripte getarnt als Anhang ermöglicht.
  • Formularnachrichten, die unmaskiert im Klartext auf einer Administrationsseite angezeigt werden und so eine gespeicherte XSS-Injection ermöglichen.
  • Die Empfänger-E-Mail-Adresse liegt im Klartext im Quellcode der Seite offen und erleichtert so das Abgreifen durch Spam-Bots.

Was man sich merken sollte

  • Ein Formular vereint drei unterschiedliche Risiken (Spam, Injection, DSGVO), die jeweils eine eigene Antwort erfordern.
  • Honeypot und Captcha reduzieren automatisierten Spam, ohne ihn jemals vollständig zu beseitigen.
  • Die Validierung der Daten muss stets serverseitig erfolgen, eine reine Browser-Validierung lässt sich umgehen.
  • Prepared Statements sind der Referenzschutz gegen SQL-Injections, nicht die manuelle Filterung jedes einzelnen Felds.
  • Die DSGVO-Konformität verlangt, nur notwendige Daten zu erheben, mit klarem Zweck und festgelegter Aufbewahrungsdauer.

Häufig gestellte Fragen

Reicht ein Captcha aus, um ein Formular vor Spam zu schützen? Es reduziert automatisierten Spam deutlich, ohne ihn vollständig zu beseitigen. In Kombination mit einem Honeypot und einer serverseitigen Validierung deckt es die meisten Fälle bei einem Standardformular ab.

Was ist eine SQL-Injection bei einem Formular? Eine Technik, bei der ein Angreifer Code in ein Feld einschleust, um die Datenbank zu manipulieren. Vermeiden lässt sich das durch systematische serverseitige Validierung und Prepared Statements.

Verlangt die DSGVO eine ausdrückliche Einwilligung für jedes Formular? Sie verlangt eine klare, informierte Einwilligung mit festgelegtem Zweck. Das bedeutet nicht zwingend eine Checkbox für jedes Feld, aber der Besucher muss wissen, warum seine Daten erhoben werden.

Müssen über ein Formular gesendete Daten verschlüsselt werden? HTTPS verschlüsselt bereits die Übertragung, was für ein Standardformular das Wesentliche abdeckt. Eine zusätzliche Verschlüsselung bei der Speicherung ist vor allem bei sensiblen Daten sinnvoll.

Zusammenfassung

Ein Webformular abzusichern bedeutet, Spam, Code-Injections und DSGVO-Konformität getrennt zu behandeln, statt sich auf eine einzige Schutzmaßnahme für alle drei zu verlassen. Die Grundlagen (Honeypot, serverseitige Validierung, minimale Datenerhebung) sind ohne tiefgreifendes Fachwissen umsetzbar und reichen für die meisten professionellen Kontaktformulare aus. Das Angebot Website im Abonnement von VeryAppi beinhaltet abgesicherte, konforme Formulare von Beginn an.

Häufig gestellte Fragen

Reicht ein Captcha aus, um ein Formular vor Spam zu schützen?

Ein Captcha reduziert automatisierten Spam deutlich, beseitigt ihn aber nicht vollständig, insbesondere nicht gegenüber günstigen manuellen Löse-Diensten. In Kombination mit einem Honeypot-Feld und einer serverseitigen Validierung deckt es die meisten Fälle bei einem Standard-Kontaktformular ab.

Was ist eine SQL-Injection bei einem Formular?

Dabei fügt ein Angreifer Code in ein Formularfeld ein (statt einer normalen Eingabe), um die Datenbank der Website zu manipulieren: Daten auszulesen, zu verändern oder zu löschen. Vermeiden lässt sich das durch systematische serverseitige Validierung und Filterung der eingegebenen Daten, niemals nur clientseitig im Browser.

Verlangt die DSGVO eine ausdrückliche Einwilligung für jedes Formular?

Die DSGVO verlangt eine klare, informierte Einwilligung für jede Erhebung personenbezogener Daten mit einem festgelegten Zweck. Das bedeutet nicht zwingend eine separate Checkbox für jedes Feld, aber der Besucher muss wissen, warum seine Daten erhoben werden, und der Erhebung leicht widersprechen können.

Müssen über ein Formular gesendete Daten verschlüsselt werden?

HTTPS verschlüsselt bereits die Übertragung der Daten zwischen Browser und Server, was für ein Standardformular das Wesentliche abdeckt. Eine zusätzliche Verschlüsselung bei der Speicherung ist bei sensiblen Daten (Gesundheitsdaten, Bankdaten) sinnvoll, bei einem einfachen Kontaktformular hingegen selten nötig.

Ähnliche Artikel

← Zurück zum Blog