Utilisez-vous des techniques de validation côté client et côté serveur?

10

Utilisez-vous côte à côte des techniques de validation côté client et côté serveur lors de la validation des entrées d'un utilisateur, par exemple via un formulaire de contact?

Si oui, est-ce vraiment nécessaire? Êtes-vous sur l'ingénierie?

TeaDrinkingGeek
la source
C'est intéressant: smashingmagazine.com/2009/07/07/…
TeaDrinkingGeek

Réponses:

27

Oui, et tu devrais.

Cela permet de conserver les commentaires instantanés des utilisateurs sans gaspillage de publications tout en évitant aux utilisateurs de désactiver JavaScript.

Voici comment fonctionnent les contrôles de validation ASP.NET .

Ce n'est certainement pas une ingénierie excessive, car l'utilisation de l'un sans l'autre présente des inconvénients.

billy.bob
la source
8
+1. Aucune excuse pour ne pas avoir d'imo de validation côté serveur.
DBlackborough
11
Le côté serveur est nécessaire, le côté client est pratique. Dans les applications Web, vous ne pouvez pas compter sur la validation côté client.
BillThor
@BillThor - Yup c'est exactement
ça
les utilisateurs intelligents peuvent certainement abuser de votre application si vous n'avez pas de validation côté client
Umair
6

Si oui, est-ce vraiment nécessaire?

Oui.

Êtes-vous sur l'ingénierie?

Non.

La validation frontale peut donner un retour immédiat s'il s'agit d'une interface riche.

Le backend peut être utilisé par plusieurs frontaux. Et c'est la seule validation pour le plan de secours HTML uniquement (pas de javascript).

S.Lott
la source
6

L'un des premiers principes fondamentaux que j'ai appris sur la sécurité est que les pirates n'utiliseront jamais votre interface utilisateur.

Toute validation côté client peut normalement être facilement contournée dans les applications Web si elles ont leur propre version locale de votre formulaire, puis la renvoyer à votre serveur.

La validation côté client est idéale pour améliorer votre expérience utilisateur et réduire les allers-retours inutiles vers le serveur pour effectuer la validation.

Bruce McLeod
la source
+1, j'ai vu de nombreux exemples où la validation a été entièrement effectuée côté client
Karl
2

La validation côté serveur doit être le strict minimum.

Et pour les entrées susceptibles d'être erronées, vous devez également ajouter une vérification côté client.

Par exemple: vérifiez si l'e-mail est correctement formaté côté client et côté serveur mais vérifier s'il est unique peut être une vérification côté serveur.

Carra
la source
1
"Vérifier que ce n'est pas le cas" est une vérification PAS une validation, donc cela ne s'applique pas. Comprenez la différence.
billy.bob
2
Avez-vous même lu ce que vous publiez? Vérifier que l'e-mail est unique est une validation. Vérifier, par exemple, que l'e-mail et le mot de passe sont des informations d'identification valides est une vérification. En tout cas, ce n'est qu'un problème de terminologie.
Andrea
1

Oui, ce n'est pas une mauvaise idée d'utiliser les deux. Si de simples erreurs de saisie utilisateur peuvent être détectées côté client, il est judicieux de signaler ces erreurs à l'utilisateur avant d'envoyer des données et de mettre le serveur sur écoute. Par exemple, si l'utilisateur a entré quelque chose qui ne ressemble pas à une adresse e-mail dans le champ 'e-mail' ou a saisi une chaîne de 5 caractères seulement dans le champ du mot de passe et que vous savez que votre site exigeait que le mot de passe soit d'au moins 6 caractères, alors vous devez en informer l'utilisateur avant d'envoyer quoi que ce soit au serveur.

Il est également important de dupliquer exactement la même validation sur le serveur pour 2 raisons: 1) que se passe-t-il si l'utilisateur a désactivé Javascript?

2) L'utilisateur a malicieusement essayé de contourner votre validation côté client, ce qui est vraiment facile.

Dmitri
la source