type script inicio fin etiqueta codigo bloque php flash security

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.