Validar dados dinâmicos recebidos cliente

  • Autor Autor CosmicBetelgeuse
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
C

CosmicBetelgeuse

Beta
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Hola!

Como sabemos se debe validar los datos en el cliente y en el servidor.

Sin embargo la cosa se complica al validar valores dinámicos generados en el cliente, por ejemplo, un select con unos determinados valores generados según determinadas selecciones en cliente, podria ser esto:

<select name="datos">
<option value="2">Texto</option>
<option value="35">Texto</option>
<option value="12">Texto</option>
<option value="40">Texto</option>
</select>

Yo lo que suelo hacer para saber que el usuario no ha cambiado ningún valor de los option (mediante el inspector del navegador) además del valor le paso una especie de "token". Dicho "token" es el resultado de: sha1(id de sesion del cliente + valor select), por tanto queda así (son token inventados):

<select name="datos">
<option value="2|token=4u95or09093e939oe0o">Texto</option>
<option value="35|token=4u95or09ewr093e4e0o">Texto</option>
<option value="12|token=3295or03493e9399ir0w">Texto</option>
<option value="40|token=0995or09ol3e939r8iere">Texto</option>
</select>

¿Es correcto?, ¿Qué opináis?

Gracias!
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
No es necesario. Sólo debes comprobar que el Usuario puede seleccionar las opciones 2, 35, 12 y 40. Si por ejemplo te llaga la opción 73, ya sabes que han estado haciendo trampas y deberías de rechazar ese valor.
 
Asi como te dijeron mas arriba, como ya conoces los valores que puedes recibir, simplemente valida antes de continuar si el valor que te llega es el esperado o esta por lo menos dentro de tu lista de esperados, sino, pues le mandas a una pagina de error.
 
Voltar
Topo