Garantir validação javascript

10 respostas
spranta

Hoje trabalhamos com validação somente do lado do servidor, no entanto, gostaríamos de adicionar validação do lado cliente, via javascript, para que não seja necessário o usuário fazer submissão do formulário para validar, assim haverá menos sobrecarga no servidor, bem como mais agilidade para o usuário.
Enfim, penso que se teremos validação no cliente, a validação do servidor fica duplicada, então a mesma poderia ser excluida.
No entanto, este pensamento só é válido se eu puder garantir que a validação do servidor será executada, o que até onde eu sei não é possível, visto que bastaria ao usuário desabilitar o javascript do browser ou até mesmo fazer um programa que envie para minha aplicação a requisição, sem necessariamente entrar no formulário on-line.

Enfim, pergunto a todos se é possível, de alguma forma, garantir que ao receber uma requisição no meu server eu possa verificar se a mesma passou ou não pela validação javascript do meu site.

10 Respostas

Hebert_Coelho

Até onde eu sei, não.

Será suicídio confiar apenas na validação javascript. Um usuário maldoso pode manipular totalmente o que o JS faz no pc dele. Um usuário não maldoso poderia desativar o JS e lascar com suas validações.

Não façam isso. [=

pmlm

A validação do lado do servidor terá sempre de ser feita, nunca poderás confiar somente na validação do lado do cliente.

Rodrigo_Sasaki

+1

Essa validação é duplicada mas ela faz sentido.
Ela será usada bem pouco, geralmente só vai chegar nela quando os dados já tiverem todos OK, mas como o Hebert disse, algum maldoso pode tentar de sacanear, e nesse caso, é essa validação que te salva.

Fellipex

Você pode imbutir mais as validações do javascript, sendo a primeira linha de defesa do seu produto, porém não aconselho tirar a parte de validação do java.
Javascript é mto fácil de manipular e realmente não garantirá muita coisa…
Mas como eu disse aconselho a criar as validações em javascript, pois caso seja um usuário comum , a validação javascript irá funcionar, evitando que seja feita a requisição para seu servidor ter que validar.
Porém se for um expert maldoso, que consiga burlar, ainda assim você terá a validação do servidor, impedindo que o mesmo faça alguma coisa não desejada.
Att

R

Olha , tem uma forma de seu código em javascript ser quase ininterpretável para humanos , porém é claro que não garante 100% que ele não possa ser burlado , porque é claro que o cara pode desativar o javascript do teu pc , mas você pode fazer o seguinte , a cada segundo ou milessimo de segundo voce que sabe (use a função setInterval()) , a função que você colocar ai tem que ser uma função com um ajax dentro dela se comunicando com um php , esse arquivo php ele tem simplesmente uma unica linha de codigo que é echo $_SESSION[‘algumacoisa’] , quando o ajax receber , e voce atribui o responseText a uma variavel qualquer , se essa variavel for nada , vc da um exit na pagina do teu site saindo do teu site , e todo campo que tiver validação no teu javascript vc só valida se essa tal variavel for diferente de nada , isso vai te certificar que o usuario esta no teu site . agora para a parte de desativar o js do teu site , vc simplesmente faz uma unica linha de codigo , na 1º linha do teu javascript , vc simplesmente manda exibir “ok” , em algum lugar , caso esse ok não eja exibido significa que o js não esta funcionando então vc manda sair do teu site também , agora pra ferrar mais ainda com a vida dos caras vc pega todo teu codigo js , entra nesse site (http://www.javascriptobfuscator.com/) , coloca teu codigo ai e clica em OBFUSCATE , ele vai gerar um código em bites que é ininterpretavel pra humanos , só o computador entende , e vc subistitui teu codigo pelo código em bytes que ele retornar para vc , e pronto o cara não vai saber o nome de nenhuma variavel tua , não vai poder mudar nada e vai ter um setInterval a todo momento verificando se tal valor esta sendo exibido

Ruttmann

Parabéns!

Desenterrou um tópico de 2 anos atrás. :smiley:

R

Parabéns!

Desenterrou um tópico de 2 anos atrás. :D

Meu , duvida é duvida cara não importa se é de 2 anos atras , o que que isso importa ??? , a duvida desse cara pode ser a duvida de outros , q q tem a ver de quando que é o tópico , caraca se ta ai é pra ser respondido e pra ser discutido , se eu criasse outro com o mesmo assunto ia fazer diferença ?? , é tudo a mesma coisa meu caro , se liga , esse aqui já tem mais informação sobre isso do que se eu criasse um tópico novo só para falar sobre isso , então com todo respeito , que comentáriozinho besta esse teu XD , pra que comenta isso ?? , cara qual é o problema de eu responde uma coisa de 2 anos atras , “se você jogar na mega sena hoje e só te avisarem que você ganhou o prêmio daqui 10 anos você não vai querer tirar o prêmio do mesmo jeito e não vai ficar feliz do mesmo jeito por ter ganhado ? , ou você também vai falar que não quer mais o prêmio porque você ganhou já faz 10 anos ? , é mesma coisa uma duvida meu querido se você faz uma pergunta em um forúm de como criar o windows e ninguém atualmente tem a resposta , se o Bill Gates responder sua duvida mesmo que seja daqui 10 anos você vai ficar feliz do mesmo jeito por saber como criar o Windows , Antes tarde do que nunca”.

ErickRAR

vírgula,vírgula,vírgula,vírgula,vírgula,vírgula,vírgula…

Ruttmann

Parabéns!

Desenterrou um tópico de 2 anos atrás. :D

Meu , duvida é duvida cara não importa se é de 2 anos atras , o que que isso importa ??? , a duvida desse cara pode ser a duvida de outros , q q tem a ver de quando que é o tópico , caraca se ta ai é pra ser respondido e pra ser discutido , se eu criasse outro com o mesmo assunto ia fazer diferença ?? , é tudo a mesma coisa meu caro , se liga , esse aqui já tem mais informação sobre isso do que se eu criasse um tópico novo só para falar sobre isso , então com todo respeito , que comentáriozinho besta esse teu XD , pra que comenta isso ?? , cara qual é o problema de eu responde uma coisa de 2 anos atras , “se você jogar na mega sena hoje e só te avisarem que você ganhou o prêmio daqui 10 anos você não vai querer tirar o prêmio do mesmo jeito e não vai ficar feliz do mesmo jeito por ter ganhado ? , ou você também vai falar que não quer mais o prêmio porque você ganhou já faz 10 anos ? , é mesma coisa uma duvida meu querido se você faz uma pergunta em um forúm de como criar o windows e ninguém atualmente tem a resposta , se o Bill Gates responder sua duvida mesmo que seja daqui 10 anos você vai ficar feliz do mesmo jeito por saber como criar o Windows , Antes tarde do que nunca”.

Se me avisarem 10 anos depois que eu ganhei na Mega Sena eu dei azar.

Tem um prazo máximo pra buscar o prêmio, e se ninguém aparecer o dinheiro é destinado pra outras coisas.

Mas gostei da atenção que você deu às duas linhas de parabéns que escrevi pra você. Ganhei meu dia! :smiley:

R

Parabéns!

Desenterrou um tópico de 2 anos atrás. :D

Meu , duvida é duvida cara não importa se é de 2 anos atras , o que que isso importa ??? , a duvida desse cara pode ser a duvida de outros , q q tem a ver de quando que é o tópico , caraca se ta ai é pra ser respondido e pra ser discutido , se eu criasse outro com o mesmo assunto ia fazer diferença ?? , é tudo a mesma coisa meu caro , se liga , esse aqui já tem mais informação sobre isso do que se eu criasse um tópico novo só para falar sobre isso , então com todo respeito , que comentáriozinho besta esse teu XD , pra que comenta isso ?? , cara qual é o problema de eu responde uma coisa de 2 anos atras , “se você jogar na mega sena hoje e só te avisarem que você ganhou o prêmio daqui 10 anos você não vai querer tirar o prêmio do mesmo jeito e não vai ficar feliz do mesmo jeito por ter ganhado ? , ou você também vai falar que não quer mais o prêmio porque você ganhou já faz 10 anos ? , é mesma coisa uma duvida meu querido se você faz uma pergunta em um forúm de como criar o windows e ninguém atualmente tem a resposta , se o Bill Gates responder sua duvida mesmo que seja daqui 10 anos você vai ficar feliz do mesmo jeito por saber como criar o Windows , Antes tarde do que nunca”.

Se me avisarem 10 anos depois que eu ganhei na Mega Sena eu dei azar.

Tem um prazo máximo pra buscar o prêmio, e se ninguém aparecer o dinheiro é destinado pra outras coisas.

Mas gostei da atenção que você deu às duas linhas de parabéns que escrevi pra você. Ganhei meu dia! :D

Cara mega sena foi só um exemplo cara (pela mor de deus não consegue entender que foi um exemplo cara), sera q vc n consegue entender , foi um exemplo , eu sei que isso não aconteceria , foi só para você entender o que eu estou dizendo , e se te avisassem depois de 10 anos q vc ganhou vc deu azar ? , não é atenção cara , são duas linhas que um zé mané responde algo nada a ver , em duas linhas foi uma resposta besta cara em vez de "a muito obrigado pela atenção a duvida dos outros que você não tem nada a ver com isso mas tentou responder " é outra coisa , é um babaca falando “hahahah sou palhaço parabens por ter ressucitado um topico de 10 anos atras” , por isso que gente com mais cacife não responde as coisas em forúns e nem frequenta , pra se ter ideia eu só criei uma conta nesse forum pra responder a duvida do cara , só to aqui te respondendo porque chegou uma mensagem no meu e-mail , eu nunca pego informações de foruns nem nada , a melhor informação pelo menos sobre programação em qualquer linguagem esta em livros , forúns ta cheio de babaca q nem tu(afinal porque eu não posso responder alguma coisa que foi perguntada a 2 anos ?? qual é sua lógica pra isso ??) , apesar de ter gente bacana que responde as coisas sem esperar nada em troca , imagina só se é um cara que trabalha um dia inteiro com programação que é o meu caso , tira 10 minutos preciosos pra responder algo que não tem nada a ver comigo e ainda vem um babaca com uma resposta dessa , se acha que agora eu tiro mais 10 minutos da minha vida pra responde alguma coisa ?? , ai o cara que ta com a duvida não vai ter mais a resposta por causa de caras q nem vc , ja penso se vc fizer isso em todas as respostas que dão de tópicos antigos , ai os caras param de responder véi só isso , mano vc n deve fazer nada da vida cara passando em tópicos que não tem nada a ver com a tua duvida pra escrever “Parabens você ressucitou um topico de 2 anos atras” , q vida é essa véi ficar passando de topico em topico pra responder azneira , e não aprender nada , a idade do topico pra quem realmente quer aprender pouco importa , mas pelo visto não é o teu caso , cara , quando eu realmente estudava programação eu estudava 15 horas por dia eu nem dormia , se acha q eu tinha tempo ed psota babaquisses por ai véi e agora pra você te ideia eu programo pra nexon em C# , programava pro orkut em PHP e Javascript , ja trabalhei na Exit Games , e tenho uma pequena parte no desenvolvimento do Photom Server , e vc ta ai procurando topicos pra comentar ***** , e no final das contas não aprender nada e continua na mesma ******.

Criado 9 de novembro de 2012
Ultima resposta 4 de jul. de 2014
Respostas 10
Participantes 8