Zum Hauptinhalt springen

Insight · PHP, Formulare & Sicherheit

E-Mail-Header-Injection bei Kontaktformularen verhindern

Formulare übernehmen keine frei eingegebenen Header; Empfänger und Betreff stammen aus festen Regeln, Adressen werden streng geprüft.

Für PHP-Entwickler und Website-Betreiber lässt sich „E-Mail-Header-Injection verhindern“ an drei konkreten Punkten prüfen: „Feste Zieladressen“, „Striktes Headerfeld“ und „Freier From-Wert“.

Veröffentlicht: · 3 Min. Lesezeit · Autor:

Wie verhindert ein PHP-Kontaktformular eingeschleuste zusätzliche E-Mail-Header?

Nutzerwerte dürfen niemals direkt in To, Cc, Bcc oder rohe Headerzeilen gelangen. Ein Antwortkontakt wird als einzelne Adresse validiert und auf CR sowie LF geprüft, während fester Absender und Empfänger aus Konfiguration kommen; die Bibliothek übernimmt korrekte Kodierung und Übertragung.

Anwendungsfall: „Freier From-Wert“

Ein Formular setzt die eingegebene E-Mail per Stringverkettung in From. Die Umsetzung wechselt auf einen festen Domain-Absender und validiertes Reply-To über eine Mailbibliothek; Versuche mit kodiertem Bcc-Zeilenumbruch werden vor dem Versand verworfen.

Striktes Headerfeld

  1. Alle Requestwerte identifizieren, die aktuell Empfänger, From, Reply-To, Betreff oder andere Header beeinflussen können.

  2. Ziele und Absender fest konfigurieren, einzelne Adressfelder strikt validieren und CR sowie LF vor Übergabe ablehnen.

  3. Versand auf eine gepflegte Bibliothek umstellen und Tests mit kodierten Zeilenumbrüchen, Mehrfachadressen und langen Werten ausführen.

Freier From-Wert

  • Freier From-Wert – Die Formularadresse wird als roher Absender eingesetzt und erlaubt zusätzliche Kopfzeilen oder scheitert an Versandrichtlinien.

  • Zeilenumbruch-Bypass – Unvollständige Filter erkennen nur eine Darstellung von CR und LF, während Dekodierung oder Mehrfachwerte später neue Header bilden.

  • Nachricht als Header – Betreff oder Freitext wird per Verkettung in die Headerstruktur geschrieben und trennt Inhalt nicht sauber von Metadaten.

Feste Zieladressen

  • Feste Zieladressen – Empfänger und technischer From-Wert stammen aus geschützter Konfiguration und lassen sich nicht über Requestfelder beeinflussen.

  • Striktes Headerfeld – Ein optionales Reply-To wird als genau eine zulässige Adresse geprüft und lehnt sämtliche CR- oder LF-Zeichen ab.

  • Bibliotheksbasierter Versand – Eine gepflegte Mailkomponente erzeugt Header und MIME-Struktur statt manueller Zeichenketten mit unklarem Escaping.

Bibliotheksbasierter Versand

  • Zahl nutzerbeeinflussbarer Headerfelder und Anteil der Versandpfade mit festen Empfängern sowie bibliotheksbasierter Kodierung.

  • Abgewiesene Adresswerte mit Zeilenumbrüchen, Mehrfachzielen oder ungültigem Format ohne erzeugte Nachricht.

Wie „E-Mail-Header-Injection verhindern“ mit anderen Themen zusammenhängt

Von „E-Mail-Header-Injection verhindern“ trennt Relative und absolute Pfade in verschachtelten Projekten beherrschen eine wichtige Anschlussfrage ab: Wie verhindert man, dass PHP-Includes in verschachtelten Verzeichnissen plötzlich falsche Pfade nutzen?

Wer „E-Mail-Header-Injection verhindern“ aus Sicht des Clusters „Hosting, Server, CDN & Caching“ vertiefen möchte, findet in Reverse Proxies für interne Dienste sicher aufsetzen die passende Einordnung.

Wenn du „E-Mail-Header-Injection verhindern“ praktisch umsetzen möchtest, kannst du auf robuste Website-Systeme zurückgreifen. Dort stehen „Formulareingaben und sichere Verarbeitung“ und „Feste Zieladressen“ im Mittelpunkt.

Fazit: E-Mail-Header-Injection verhindern

Header-Injection wird an der Vertrauensgrenze verhindert, nicht durch nachträgliche Textkosmetik. Feste Ziele, strikte Einzeladressen und eine Mailbibliothek halten Nutzerdaten aus der Struktur.

Quellen und weiterführende Hinweise

Für Plattformverhalten, Begriffe und Prüfgrenzen bei „E-Mail-Header-Injection verhindern“ sind diese Primärquellen maßgeblich.

  • Input Validation Cheat Sheet — OWASP: OWASP empfiehlt kontextbezogene Allowlisting-Regeln, Längenbegrenzungen und serverseitige Validierung für nicht vertrauenswürdige Eingaben.

  • mail — PHP Manual: Das PHP-Handbuch warnt ausdrücklich davor, ungeprüfte externe Daten in zusätzliche Mail-Header zu übernehmen.

  • RFC 5322: Internet Message Format: Der IETF-Standard definiert Aufbau, Felder und Zeilengrenzen von Internetnachrichten und damit die Struktur, die eine Header-Injection missbraucht.

Kernthese

Nutzereingaben werden nie direkt zu To-, Cc-, Bcc- oder anderen Headerzeilen. Eine gepflegte Mailbibliothek setzt feste Empfänger und kodiert Inhalte; Absenderadressen werden validiert und CR/LF in Headerfeldern abgelehnt.

Worum es nicht geht

Das Entfernen einzelner Zeilenumbrüche aus dem Nachrichtentext schützt keine Header, wenn Nutzereingaben weiterhin Empfänger, Absender oder zusätzliche Kopfzeilen bestimmen.

Worum es geht

Empfänger und Headerstruktur bleiben serverseitig fest; eine gepflegte Mailbibliothek kodiert validierte Adressen und behandelt den Nachrichtentext ausschließlich als Inhalt.

Mehr Insights

PHP, Formulare & Sicherheit

Eingaben normalisieren, ohne legitime Zeichen zu zerstören

Zu „E-Mail-Header-Injection verhindern“ gehört als eigenständiger Prüfschritt die Frage: Wie normalisiert PHP Texteingaben, ohne Namen, Akzente oder Satzzeichen zu beschädigen?

PHP, Formulare & Sicherheit

Ein Sicherheits- und Fehlerprotokoll für produktive Formulare aufbauen

Ergänzt „E-Mail-Header-Injection verhindern“ um eine getrennte Entscheidung: Welche Formularereignisse gehören ins Log, ohne neue Datenschutz- oder Sicherheitsrisiken zu schaffen?

Insights Übersicht

Alle VELUNO Insights im Überblick

Weitere Analysen zu Website-Systemen, digitaler Sichtbarkeit und belastbaren Arbeitsmodellen.

Praktische Konsequenz

Striktes Headerfeld: Fokus der nächsten Prüfung

Im aktuellen Versandcode sollte jede Verkettung von Requestwerten in Headern markiert werden. Diese Stellen werden durch feste Konfiguration oder typisierte Bibliotheksmethoden ersetzt und mit CR/LF-Payloads getestet.