Begriff
Validierung (Input Validation)
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Regel Nummer 1 im Internet: Traue niemals dem User. Wenn du ein Feld "Alter" hast, wird jemand "-5", "neunundneunzig" oder "DROP TABLE users" eingeben. Validierung ist der Türsteher. Er prüft:
Ist das Alter eine Zahl?
Musterantwort: Beginne mit dem konkreten Fall, prüfe die Fakten und erkläre den Begriff daran. Für diesen Abschnitt gilt: Client-Side (im Browser): HTML5: Javascript: Prüft sofort, ob das @-Zeichen fehlt. Gut für User Experience (schnelles Feedback). Nutzlos für Sicherheit (Hacker schalten JS einfach aus).- Ist es zwischen 0 und 120? Wenn nicht: "Du kommst hier nicht rein" (Fehlermeldung). Ohne Validierung stürzt dein Programm ab oder wird gehackt.
Merksatz: Die Überprüfung von Eingabedaten auf Korrektheit, Vollständigkeit und Sicherheit, bevor sie vom System verarbeitet werden.
Client-Side (im Browser):
HTML5: <input type="email" required>
Javascript: Prüft sofort, ob das @-Zeichen fehlt.
Gut für User Experience (schnelles Feedback).
Nutzlos für Sicherheit (Hacker schalten JS einfach aus).
Server-Side (im Backend): Must-Have! Der Server prüft nochmal alles.
if (age < 0 || age > 120) {
throw new Error("Invalid age");
}
1. Whitelist vs. Blacklist
- Blacklist (Schlecht): "Ich verbiete das Wort 'Hacker' und '