Supongamos que estoy haciendo un juego de JavaScript, y deseo que el juego actualice el servidor si el usuario ha completado con éxito el juego y su resultado.
¿Cómo debo asegurarme de que la solicitud provenga del juego de JavaScript y que los datos enviados no hayan sido alterados? Estoy usando PHP como el lenguaje del lado del servidor.
Entiendo que ninguna estrategia será 100% infalible, y cualquier medida tomada es más un elemento de disuasión que una protección absoluta.
En Editar: supongamos que no estamos utilizando la verificación del servidor de los pasos de cada usuario (como en un MMO tradicional). El juego podría ser un minijuego como parte de un juego web o un juego educativo (invasores del espacio o un juego en tiempo real, por ejemplo) y requerir un componente del lado del servidor para cada uno de esos juegos podría ser tedioso.
Ejemplo: supuestamente, cuando se completa el juego, se envía una solicitud al servidor a través de. AJAX
game_finished.php?user_id=1&outcome=success&score=88
Un usuario podría "falsificar" el servidor al creer que el juego se ha completado correctamente enviando esa solicitud a game_finished.php. ¿Cómo podría hacerse esto más difícil?