Você usa as técnicas de validação do lado do cliente e do servidor?

10

Você usa as técnicas de validação do lado do cliente e do servidor lado a lado ao validar a entrada de um usuário, por exemplo, através de um formulário de contato?

Se sim, é realmente necessário? Você superou a engenharia?

TeaDrinkingGeek
fonte
Isso é interessante: smashingmagazine.com/2009/07/07/…
TeaDrinkingGeek #

Respostas:

27

Sim, e você deveria.

Isso mantém o feedback instantâneo do usuário sem postbacks desperdiçados, além de proteger contra a desativação do JavaScript.

É assim que os Controles de Validação do ASP.NET funcionam.

Certamente não é um excesso de engenharia, pois o uso de um sem o outro tem desvantagens.

billy.bob
fonte
8
+1. Não há desculpa para não ter imo de validação no servidor.
precisa saber é o seguinte
11
O lado do servidor é necessário, o lado do cliente é conveniente. Em aplicativos da web, você não pode contar com a validação do lado do cliente.
BillThor
@BillThor - Sim, isso é exatamente correto
billy.bob
usuários inteligentes definitivamente pode abusar do seu aplicativo se você não tem validação do lado do cliente
Umair
6

Se sim, é realmente necessário?

Sim.

Você superou a engenharia?

Não.

A validação front-end pode fornecer feedback imediato se for uma interface rica.

O back-end pode ser usado por vários front-ends. E é a única validação para o plano de fallback somente em HTML (sem javascript).

S.Lott
fonte
6

Um dos primeiros fundamentos que aprendi sobre segurança foi que hackers nunca usarão sua interface do usuário.

Qualquer validação do lado do cliente normalmente pode ser facilmente ignorada em aplicativos da Web se eles tiverem sua própria versão local do seu formulário e enviá-la de volta ao seu servidor.

A validação do lado do cliente é excelente para melhorar sua experiência do usuário e reduzir viagens de ida e volta desnecessárias ao servidor para executar a validação.

Bruce McLeod
fonte
+1, já vi muitos exemplos em que a validação foi feita inteiramente no lado do cliente
Karl
2

A validação do servidor deve ser o mínimo necessário.

E para entradas que provavelmente estão erradas, você também deve adicionar uma verificação do lado do cliente.

Por exemplo: verifique se o email está formatado corretamente no cliente e no servidor, mas se é exclusivo, pode ser uma verificação no servidor.

Carra
fonte
11
"Verificar se não é necessário" é validação da verificação NÃO, portanto isso não se aplica. Entenda a diferença.
billy.bob
2
Você leu o que você postou? Verificar se o email é exclusivo é validação. Cheking, digamos, que email e senha são credenciais válidas é a verificação. De qualquer forma, é apenas uma questão de terminologia.
Andrea
1

Sim, não é uma má ideia usar os dois. Se erros simples de entrada do usuário puderem ser detectados no lado do cliente, faz sentido informar o usuário sobre esses erros antes de enviar dados e corrigir o erro no servidor. Por exemplo, se o usuário digitou algo que não se parece com um endereço de email no campo 'email' ou inseriu uma sequência de apenas 5 caracteres no campo de senha e você sabe que seu site exigia que a senha tivesse pelo menos 6 caracteres, então você deve informar o usuário sobre isso antes de enviar qualquer coisa para o servidor.

É importante também duplicar exatamente a mesma validação no servidor por 2 razões: 1) e se o usuário tiver o Javascript desativado?

2) O usuário tentou maliciosamente ignorar a validação do lado do cliente, o que é realmente fácil.

Dmitri
fonte