Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

157
Visualizações
Almacenamiento del estado del lado del cliente desde JavaScript

He escrito un juego en JavaScript que se ejecuta completamente del lado del cliente. En el juego, el jugador resuelve acertijos para avanzar al siguiente nivel del juego. Guardo el nivel actual del juego en una cookie, para que puedan volver a cargar la página y continuar desde el último nivel que alcanzaron.

Desafortunadamente, el usuario puede editar la cookie y así ir directamente a cualquier nivel de juego. Quiero prevenir eso. ¿Cuáles son mis opciones?

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Cifre la cookie con JSON Web Token (JWT). Primero firme la cookie con una clave secreta y guárdela en el navegador del usuario y en el juego descifre con su misma clave secreta y obtenga los valores. Si el usuario edita la cookie, entonces no coincidirá con su clave secreta y si el secreto no coincide, puede hacer que vuelva a jugar desde el nivel 1 como castigo.

about 4 years ago · Santiago Trujillo Relatório

0

Simplemente pueden editar su código JS y omitir cualquier verificación que agregue allí. Así es como lo haría, siempre que cada nivel tenga solo 1 solución.

En primer lugar, guarde cada nivel en formato json. Luego, calcule el hashsum de cada nivel, cuando esté en el estado resuelto. Finalmente, codifique cada siguiente nivel con un hashsum de uno anterior. Y almacena el hashsum en una cookie.

Así es como funcionaría:

  1. El usuario resuelve lvl1
  2. La aplicación convierte lvl1 a json y calcula su hashsum
  3. La aplicación lo usa para descifrar lvl2

En caso de que alguien cambie el número de nivel, la decodificación seguirá fallando. Y podrá determinar el nivel "correcto" tratando de decodificarlos todos 1 por 1.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda