script - php<?= ?>
ComunicaciĆ³n segura entre script Flash y PHP (5)
Al menos podría tirar puntuaciones que están por encima de algún umbral que considere legítimo. Todavía deja espacio para una manipulación más sutil de una lista de puntajes altos, pero al menos ayudará a aliviar la frustración obvia de ver un puntaje imposible de alcanzar en las listas.
Tengo poco conocimiento de Flash pero para un pequeño juego Flash tengo que almacenar puntajes y intentos exitosos de usuarios en una base de datos usando PHP. Ahora, el Flash se ejecuta localmente en la computadora de los usuarios y se conecta a un servidor remoto. ¿Cómo puedo protegerme contra la manipulación de puntajes de juegos? ¿Hay alguna mejor práctica para este caso de uso?
Como señaló ssddw, esto es fundamentalmente imposible. El código para enviar el puntaje se ejecuta en la computadora del usuario, y ellos tienen control sobre él y todo lo que se ejecuta allí.
Lo mejor que puede hacer es modificar periódicamente el mecanismo de encriptación para que los manipuladores de puntuación tarden un tiempo en resolverlo de nuevo. Solo puedes minimizar el daño, nunca eliminarlo, pero en un sitio como el que yo trabajo, si solo tenemos cien personas enviando puntajes falsos, de los cientos de miles que vemos todos los días, consideramos que así dentro del reino de lo aceptable (Aún aplastamos a los que atrapamos haciendo trampa, pero no lo consideramos un gran problema).
Lo que estás preguntando es intrínsecamente imposible. El juego se ejecuta en el cliente y, por lo tanto, está completamente a merced del usuario. La única manera de estar seguro es ejecutando una simulación en tiempo real del juego en el servidor en función de la entrada del usuario (movimiento del mouse, pulsaciones de teclas), lo cual es absolutamente ridículo.
Es posible que desee verificar estas otras preguntas:
- Q46415 ¿ Pasar datos no protegidos de la aplicación Flash al servidor?
- Q73947 ¿Cuál es la mejor manera de evitar que la gente piratee la tabla de puntaje basada en PHP de un juego Flash?
- Q25999 Listas de puntuaciones más seguras en línea para juegos no web
Este tema se ha cubierto aquí @ , al menos en parte