Verwenden Sie sowohl clientseitige als auch serverseitige Validierungstechniken?


Antworten:


27

Ja, und du solltest.

Dies sorgt für sofortiges Benutzerfeedback ohne verschwendete Postbacks und schützt gleichzeitig vor Benutzern, die JavaScript deaktivieren.

So funktionieren die ASP.NET-Validierungssteuerelemente .

Es ist sicherlich keine Überentwicklung, da die Verwendung eines ohne das andere Nachteile hat.


8
+1. Keine Entschuldigung dafür, keine serverseitige Validierung zu haben.
DBlackborough

11
Serverseite ist notwendig, Clientseite ist Bequemlichkeit. In Webanwendungen können Sie nicht auf die clientseitige Validierung zählen.
BillThor

@ BillThor - Ja, das ist genau richtig
billy.bob

Intelligente Benutzer können Ihre App definitiv missbrauchen, wenn Sie keine clientseitige Validierung haben
Umair

6

Wenn ja, ist es wirklich notwendig?

Ja.

Bist du über Engineering?

Nein.

Die Front-End-Validierung kann sofortiges Feedback geben, wenn es sich um eine umfangreiche Benutzeroberfläche handelt.

Das Backend kann von mehreren Frontends verwendet werden. Und es ist die einzige Validierung für den Nur-HTML-Fallback-Plan (kein Javascript).


6

Eine der ersten Grundlagen, die ich über Sicherheit gelernt habe, war, dass Hacker Ihre Benutzeroberfläche niemals verwenden werden.

Jede clientseitige Validierung kann normalerweise in Webanwendungen leicht umgangen werden, wenn sie über eine eigene lokale Version Ihres Formulars verfügen, und diese dann an Ihren Server zurücksenden.

Die clientseitige Validierung ist jedoch hervorragend geeignet, um die Benutzererfahrung zu verbessern und unnötige Roundtrips zum Server zur Durchführung der Validierung zu reduzieren.


+1, ich habe viele Beispiele gesehen, bei denen die Validierung vollständig auf der Client-Seite durchgeführt wurde
Karl

2

Die serverseitige Validierung sollte das absolute Minimum sein.

Und für Eingaben, die wahrscheinlich falsch sind, sollten Sie auch eine clientseitige Prüfung hinzufügen.

Beispiel: Überprüfen Sie, ob die E-Mail sowohl auf Client- als auch auf Serverseite korrekt formatiert ist. Wenn Sie jedoch überprüfen, ob sie eindeutig ist, kann dies eine serverseitige Überprüfung sein.


1
"Überprüfen, ob es eindeutig ist" ist eine Überprüfung, KEINE Validierung, daher gilt dies nicht. Verstehe den Unterschied.
Billy.Bob

2
Hast du überhaupt gelesen, was du postest? Die Überprüfung, ob die E-Mail eindeutig ist, ist eine Validierung. Wenn Sie beispielsweise überprüfen, ob E-Mail und Passwort gültige Anmeldeinformationen sind, wird dies überprüft. In jedem Fall handelt es sich nur um ein Terminologieproblem.
Andrea

1

Ja, es ist keine schlechte Idee, beide zu verwenden. Wenn einfache Benutzereingabefehler auf der Clientseite abgefangen werden können, ist es sinnvoll, den Benutzer über diese Fehler zu informieren, bevor Daten gesendet und Ihr Server heruntergefahren werden. Wenn der Benutzer beispielsweise im Feld "E-Mail" etwas eingegeben hat, das nicht wie eine E-Mail-Adresse aussieht, oder im Feld "Kennwort" eine Zeichenfolge mit nur 5 Zeichen eingegeben hat und Sie wissen, dass für Ihre Site das Kennwort mindestens 6 Zeichen lang sein muss Sie sollten den Benutzer darüber informieren, bevor Sie etwas an den Server senden.

Es ist aus zwei Gründen wichtig, genau dieselbe Validierung auf dem Server zu duplizieren: 1) Was ist, wenn der Benutzer Javascript deaktiviert hat?

2) Der Benutzer hat in böswilliger Absicht versucht, Ihre clientseitige Validierung zu umgehen, was sehr einfach ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.