(Computer + Aviation) = Passion
Validação JavaScript (client-side) ou Server Side ?
Você desenvolvedor web, sabe que em praticamente todos os tipos de formulários é necessário criar regras de validação, para que o usuário em questão não coloque informações indesejadas no banco de dados, como por exemplo um nome em branco ou um cpf inválido.
Como hoje em dia, em geral, os navegadores tem JavaScript ativado por padrão, e a grande maioria das pessoas não sabem que é possível desabilitá-lo, alguns desenvolvedores ainda acreditam que é seguro criar uma validação de dados tão somente em JavaScript.
A validação JavaScript é interessante pelo fato que antes mesmo de fazer a próxima requisição de envio do formulário, as informações já foram tratadas. Desta forma, o usuário é forçado a preencher corretamente todos os dados antes mesmo de serem enviadas ao script que as utilizará posteriormente.
O grande problema é que, conforme abordado anteriormente, qualquer pessoa pode ter acesso às configurações do navegador e desabilitar os recursos de JavaScript. Se sua validação e segurança se baseiam totalmente em Client Side, os dados serão passados sem nenhum tipo de tratamento e os desenvolvedores e gestores do banco de dados terão grandes problemas com inconsistência dos mesmos.
Por outro lado, a validação Server-Side é muito mais segura, assim como a maioria das coisas que são feitas no lado servidor. Com a validação dos dados fora do alcance do usuário, não será possível que ele interfira de forma que prejudique a integridade das informações que está enviando para seu sistema.
Mesmo que em alguns casos seja necessário mais tempo para fazer uma validação no lado servidor, com certeza o tempo é compensado pela maior segurança oferecida.
Por exemplo:
Entre no seguinte endereço de contato da GOL e tente enviar o formulário sem preencher nenhum dos campos:
http://www.voegol.com.br/faleconosco/
Será possível notar que uma caixa de alerta Javascript aparecerá, informando que algo não foi corretamente preenchido.
Feito isso, vá até as opções avançadas de seu navegador (No Chrome, basta ir no ícone Ferramenta > Opções > Configurações Avançadas > Configurações de Conteúdo e marque a opção: Não permitir que nenhum site execute JavaScript).
Agora volte ao formulário, e tente novamente enviar o formulário sem preencher nada. Logo perceberá que passou pela validação sem maiores problemas e o pessoal do site terá um registro totalmente nulo em sua base de dados.
Concluindo, a validação ClientSide com javascript tem seus pontos interessantes, como mostrar para o usuário que estão faltando dados antes mesmo de fazer uma nova requisição ao servidor, no entanto, tem uma grande insegurança, uma vez que pode ser desativado a qualquer momento. O ideal é sempre utilizar validação no lado servidor para garantir a integridade das informações. Você pode até mesmo usar o javascript para poupar requisições e tempo de quem está preenchendo seu formulário, desde que também faça a validação no lado servidor como forma de garantia na integridade.
| Print article | This entry was posted by Thiago Elias on 28/05/2011 at 12:17, and is filed under Desenvolvimento de Software. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |







