echo $begrüßung;
Ziel ist auf jeden Fall ein "sicheres" Formular. Wenn hier und da Zeichen
fehlen, kein Problem. Ich würde eher an der whitelist "feilen", als Abstriche
in der Sicherheit zu machen.
Definiere "sicher"! Vergiss dabei nicht den konkreten Anwendungsfall zu beachten. Ein Sicherheitsschloss wirkt vielleicht gegen Einbrecher, nicht aber gegen ein Erdbeben. Wovor willst du dich absichern, gegen den Einbrecher oder gegen ein Erdbeben?
Wenn du beispielsweise etwas in eine Header-Zeile einer E-Mail schreiben willst, reicht es im Allgemeinen Zeilenumbrüche zu beanstanden, denn die haben eine ganz besondere Bedeutung und ihr Vorhandensein in einem als einzeilig deklarierten Eingabefeld deutet recht eindeutig auf einen Missbrauchsversuch hin. Alle anderen Zeichen kann du getrost verwenden, wenn du sie kontextgerecht behandelst. Mach dir lieber darüber Gedanken, denn diese kontextgerechte Behandlung, vor allem der Umlaute, fehlt in deinem Code. Siehe dazu mb_encode_mimeheader() und dann werf ich dir mal jenen Thread in seiner Gänze vor die Füße. In dem ging es nicht nur um die Frage nach der Email-Header-Behandlung.
Ist der Code aus dieser Sicht dann okay?
Selbst wenn ich dir jetzt dafür die Absolution erteilen würde (tu ich nicht, siehe oben), so entspräche das nur meinem derzeitigen Wissensstand und der Hoffnung, nichts übersehen zu haben. Darauf ausruhen kannst und solltest du dich nicht. Die Zukunft wird neue Bedrohungen bringen und vielleicht steckt die Sicherheitslücke an einer komplett anderen Stelle oder ist in Kombination mehrerer kleinerer ansonsten ungefährlicher Nachlässigkeiten vorhanden.
Rechtlich seh ichs genau so! Werde auch meinen Rechtsanwalt dazu befragen.
Aber was bedeutet "Vorsatz" und "Fahrlässigkeit" in diesem Fall???
Vorsätzlich oder Fahrlässig dann wenn keinerlei Absicherungen ins Formular
eingebaut sind oder wie ist das gemeint?
Vorsatz ist eine bewusste Ausnutzung, Fahrlässigkeit etwas, was nach dem Stand der Technik hätte besser gemacht werden können aber übersehen wurde. So meine (rechtslaienhafte) Interpretation.
echo "$verabschiedung $name";