Idiotensicherheit umfasst weit mehr als nur eine einfache Eingabevalidierung. Ich würde so etwas nicht einmal in seine Definition aufnehmen.
Die Eingabevalidierung ist ein Prozess, bei dem Sie Benutzerdaten bereinigen und validieren, um sowohl illegale als auch unsinnige Werte zu beseitigen. Dies sollte immer mit Informationen geschehen, die von außerhalb Ihres Programms stammen, um das Offensichtliche zu beseitigen und sich vor Angriffen (z. B. SQL Injection-Angriffen) zu schützen.
Ich würde Idiotensicherheit als Logik betrachten, die den Benutzer davon abhält, sich durch andere rechtliche Mittel versehentlich großen Schaden zuzufügen.
Das rm
Zurückweisen des Befehls rm -rf /
und Schließen von Varianten hat beispielsweise nichts mit Validierung oder Richtigkeit zu tun. Es ist ein vollkommen gültiger Befehl. Leider handelt es sich um einen Befehl, mit dem Sie alle Daten von allen Laufwerken in Unix / Linux löschen können. Ein Idiot, der dies prüft, würde diesen Befehl ablehnen und vorschlagen rm -rf --i-really-mean-this /
, oder, wenn er sich im interaktiven Modus befindet, den Benutzer nach einer Warnung eine positive Antwort eingeben zu lassen.
Alles, was das System zerstört, sollte idiotensicher sein. Alles, was zu einer möglichen Verlegenheit führen könnte, könnte auch ein Kandidat sein (z. B. "Sind Sie sicher, dass Sie diese E - Mail ohne Anhang senden möchten, obwohl Sie eine in Ihrem Text erwähnt haben?" Und "Sind Sie sicher, dass Sie diese E - Mail an senden möchten gesamte Firma? ")
Idiotensicherheit ist eine Zusammenarbeit zwischen der Qualitätssicherung (um der beste Idiot zu sein) und der Entwicklung (um all diese Szenarien zu antizipieren und um sie herum zu entwerfen).
Da für eine freundliche Synonym kann ich vorschlagen , „destruktive Code-Pfadanalyse“ oder „Benutzer - Feedback für kritische Operationen ermöglichen“. Wie auch immer Sie es nennen mögen, Sie sollten es wirklich so früh wie möglich im Entwurfsprozess starten.