2008-09-30 13 views
6

Tengo poco conocimiento de Flash, pero para un pequeño juego de 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?Comunicación segura entre script de Flash y PHP

Respuesta

1

Lo que estás preguntando es inherentemente 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.

0

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 puedes hacer es modificar periódicamente el mecanismo de encriptación para que los manipuladores de puntuación tarden un tiempo en descifrarlo. 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.)

0

Al menos podrías descartar puntajes que estén por encima de un umbral que considerases 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.

Cuestiones relacionadas