Hallo,
Ich fühle mich ein wenig erschlagen, von den vielen Möglichkeiten, User Input sicher zu machen.
Da gibt es mysqli_real_escape_string()
, zur Entschärfung böser Zeichen für eine SQL Query, da gibt es FILTER_SANITIZE_SPECIAL_CHARS
, was sich um '"<>&
und alles unter ASCII 32 zu kümmern scheint, htmlspecialchars()
, was wiederum FILTER_SANITIZE_FULL_SPECIAL_CHARS
entspricht (...richtig?) und sowieso sind Prepared Statements
eine gute Idee um DROP TABLE
Injection etc. zu vermeiden; - da steht die Frage im Raum, ob FILTER_SANITIZE_EMAIL
nicht noch zusätzlich durch FILTER_SANITIZE_FULL_SPECIAL_CHARS
zu jagen wäre etc. etc. etc.
Kurzum - ich sehe ein bisschen den Wald vor lauter Bäumen nicht.
…wäre da ECHT dankbar, wenn da jemand einen Leitfaden kennen würde, in erster Linie mal für Procedural (aber auch gerne im Kontrast zu OOP).
Ich meine, da muss es doch Best Practices für sicheres Auffangen und Datenbankspeicherung von User Input (sei es jetzt Username, E-Mail, etc.) geben...?! Spreche hier mal nicht von Passwort Hashing und Salting, fürchte, das würde wohl etwas zu weit führen…
Danke, Thomas