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?
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?
Respostas:
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.
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.
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.
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.