Danke für den ganzen Input bisher, das hat mir auf jeden Fall schon sehr geholfen
Ob das Kontaktformular noch zeitgemäß ist, steht natürlich auf einem anderen Blatt geschrieben.
Aufgrund von Lernzwecken würde ich euch gerne trotzdem nochmal um Rat bzgl. serverseitiger Validierung der Usereingaben bitten.
Ich habe mir jetzt ein Script mit PHPMailer zusammengebastelt, welches den Userinput prüft und dementsprechend dann eine E-Mail schickt (siehe Anhang).
Nach meinem aktuellen (recht vagen) Kenntnisstand sollten solche Plausibilitätschecks in zwei Schritten erfolgen:
1. Escape
2. Validate
Dazu werden mit der Funktion escapedata() sämtliche Whitespaces und Backslashes entfernt sowie alle Specialchars in Entities umgewandelt. Mit validate() wird dann noch die Länge der Parameter überprüft.
Jetzt folgende Fragen:
1. Sind solche Checks ausreichend, um ein gesundes Maß an Sicherheit zu erreichen? Was ist eurer Meinung nach ausreichend, bzw. wie geht ihr hier vor?
2. Könnte ich mir den Aufruf von htmlspecialchars() nicht sparen? Die Mail sende ich ja nicht im HTML-Format, wodurch die große Gefahr ja schonmal gebannt sein müsste. Wenn ein User im Formular nun aber z.B. < oder > nutzt, wird die Mail auch zusätzlich noch schwer lesbar.
Herzlichen Dank schonmal für eure Zeit