Frage

Was ist die gängige Praxis der Eingabevalidierung? Mit anderen Worten: überprüfen Sie für Eingabeüberprüfung auf Client-Seite, auf Server-Seite oder auf beiden Seiten?

Auch wenn die Leistung für mich von entscheidender Bedeutung ist, wäre nur die clientseitige Eingabevalidierung für meine Website ausreichend sein, ohne irgendwelche Sicherheitsrisiken zu präsentieren?

War es hilfreich?

Lösung

Führen Sie immer mindestens serverseitige Validierung. Wenn Sie die Benutzer-Erfahrung verbessern möchten, Client-seitige Validierung könnte schön sein. Es erlaubt Ihnen auch unnötige Anfragen an den Server zu vermeiden.

Nur Client-seitige Validierung ist nicht ausreichend und kann leicht durch Javascript deaktivieren beispielsweise umgangen werden.

Ich würde Ihnen empfehlen, immer dann zu starten, indem Server-seitige Validierung hinzufügen und wenn Sie es getestet haben, können Sie Client-seitige Validierung ermöglichen.

Andere Tipps

NICHT SETZEN AUF CLIENT SIDE VALIDATION !!!
Es ist einfach da für den ehrlichen Benutzer. Der unehrliche Benutzer kann in kürzester Zeit um es bekommen.

Wenn ich weg Javascript abgeschaltet, kann ich Ihre App Scheiße hämmern. Immer serverseitige Validierung setzte in ... es ist nicht so schwer,

Web Forms

''# VB
If Page.isValid Then
    ''# submit your data
End If

// C#
if(Page.isValid) {
    // submit your data
}

MVC

''# VB
If ModelState.IsValid Then
    ''# submit your data
End If

// C#
if(ModelState.IsValid) {
    // submit your data
}

Wenn Sie Ihre Server-Seite Validierung funktioniert, dann gehen Sie vor und fügen Sie die Client-Seite Validierung. Es wird die Erfahrung besser für den Benutzer machen

Eine Sache, die ich empfehlen würde, ist mit FluentValidation , xVal und JQuery zusammen Client- und Server-seitige Validierung durchzuführen basiert auf den gleichen Regeln .

FluentValidation ist eine regelbasierte Framework, dass validates .net-Objekte auf der Serverseite. Es kommt mit einem Regeln Anbieter für xVal , was einen weiteren Rahmen ist, dass Sie Ihre Wahl von Server zu verbinden erlaubt Seiten- und Client-Seite Validierungsgerüste. Es unterstützt auf der Client-Seite JQuery Validatoren Erzeugung

Im allgemeinen auf beiden Seiten. Die Client-Seite kann man sich leicht entweder absichtlich oder unschuldig umgangen werden (mit der Prävalenz von noscript) aber ist für die Benutzerfreundlichkeit Gründen lohnt sich.

Zur Frage, ob es ein Sicherheitsrisiko darstellt. Was verwenden Sie die Benutzereingabe und was ist die gegenwärtige Art Ihrer Validierung?

Wenn es nur ist, dass jemand überprüft hat ausgefüllt Pflichtfelder in einer Form, die sie vielleicht unwahrscheinlich ist, dass es ein Sicherheitsrisiko darstellen.

Es ist erforderlich, um den Einsatz an, damit serverseitige Validierung, weil clie seitige Validierung ganz leicht umgangen werden kann.

Wenn Sie einen btter Benutzer exprience haben wollen, verwenden Sie clientseitige Validierung zu. Dies erhöht auch die Leistung, da sie die Anzahl der HTTP-Anfragen an den Server reduziert, da ungültige Formulare werden nicht an den Server gesendet werden.

Am häufigsten wird mit Client- und Server-seitige Validierung.

würde nur die clientseitige Eingabevalidierung für meine Website ausreichend sein, ohne irgendwelche Sicherheitsrisiken zu präsentieren?

Nein, sollten Sie Serverseite Validierung verwenden. Es ist ziemlich einfach zu entfernen Client-Validierung mit (zum Beispiel) Firebug. Offensichtlich nach Clientseite Validierung evildoer entfernen können alle Daten an den Server senden. So serverseitige Validierung stark zu benötigt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top