Question

Quelle est la pratique courante de validation d'entrée? En d'autres termes vous pour vérifier la validation des entrées sur côté client, le côté serveur ou sur les deux côtés?

En outre, si la performance est cruciale pour moi, serait tout simplement la validation d'entrée côté client est suffisant pour mon site web sans présenter des risques pour la sécurité?

Était-ce utile?

La solution

Toujours effectuer au moins validation côté serveur. Si vous voulez améliorer l'expérience des utilisateurs, validation côté client pourrait être agréable. Il vous permet également d'éviter des demandes inutiles au serveur.

Seule la validation côté client ne suffit pas et peut être facilement contournée en désactivant JavaScript par exemple.

Je vous recommande de toujours commencer en ajoutant la validation côté serveur et une fois que vous avez testé, vous pouvez activer la validation du côté client.

Autres conseils

NE PAS COMPTER côté client VALIDATION !!! Il est juste là pour l'utilisateur honnête. L'utilisateur malhonnête peut contourner en peu de temps.

Si je coupais Javascript, je peux marteler votre application à la merde. Toujours mettre la validation côté serveur ... il est pas difficile

Formulaires Web

''# 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
}

Une fois que votre validation côté serveur fonctionne, alors allez-y et ajoutez la validation côté client. Il fera mieux l'expérience pour l'utilisateur

Une chose que je recommande est d'utiliser FluentValidation , xVal et JQuery en même temps pour effectuer la validation côté client et serveur sur la base des mêmes règles .

FluentValidation est un cadre fondé sur des règles qui valident des objets .net sur le côté serveur. Il est livré avec un fournisseur de règles pour xVal , qui est un autre cadre qui vous permet de relier votre choix du serveur latéraux et des cadres de validation côté client. Il prend en charge la génération validateurs JQuery sur le côté client

En général, des deux côtés. L'un côté client peut facilement être contournée intentionnellement ou innocemment (avec la prévalence de noscript), mais vaut la peine pour des raisons de facilité d'utilisation.

Quant à savoir si elle présente un risque de sécurité. Qu'est-ce que vous utilisez l'entrée d'utilisateur et quelle est la nature actuelle de votre validation?

S'il est en train de vérifier que quelqu'un a rempli les champs obligatoires sous une forme, il est peut-être peu probable qu'il y aurait un risque de sécurité.

Il est nécessaire d'utiliser à de peur que la validation côté serveur, car la validation côté clie peut être facilement contournée.

Si vous voulez avoir une exprience utilisateur btter, utilisez la validation côté client aussi. Cela augmente également la performance, car il réduit le nombre de requêtes HTTP au serveur, parce que les formes non valides ne seront pas envoyés sur le serveur.

La plus commune utilise à la fois la validation côté client et serveur.

  

ne ferait que la validation d'entrée côté client suffisant pour mon site web sans présenter des risques pour la sécurité?

Non, vous devez utiliser trop de validation côté serveur. Il est assez simple de supprimer la validation du client (par exemple) Firebug. De toute évidence, après le retrait de validation scélérat côté client peut envoyer des données au serveur. Ainsi, la validation côté serveur est fortement nécessaire aussi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top