Agregué una tabla de puntaje rápido / sucio a un proyecto mío hace un tiempo y, al no estar versado en absoluto en seguridad de Internet, etc., resultó ser algo defectuoso. Sorprendentemente, con casi 1,200,000 puntajes registrados, solo he tenido quizás 5 o 6 ocasiones de lotes de puntajes descaradamente incorrectos que alcanzan la parte superior del tablero. La mayoría de los puntajes incluso parecían más una falla en el juego que un verdadero "pirateo".
Así que supongo que un punto importante es: asegúrese de que el sistema de puntaje de su juego sea hermético , o al menos haga una buena verificación de factibilidad de puntaje; ahora, este juego del que estoy hablando era una entrada de Ludum Dare de 48 horas, por lo que no era lo más estable ... pero en general creo que a menudo es más probable que el jugador casual descubra / explote una falla en el juego que hacer que alguien "piratee" directamente la tabla de clasificación
Dicho esto, estoy trabajando en una reescritura de este proyecto en este momento, y voy a salir con la ofuscación. No voy a entrar en demasiados detalles, pero básicamente hago que todas las puntuaciones envíen un valor clave basado en un grupo de valores aleatorios y hashing y una cadena mágica, luego cualquier puntuación que pase esa verificación y sea lo suficientemente alta como para hacer el verdadero " La tabla de clasificación Top X "tiene que pasar otra ronda de validación (esta vez con un valor de clave que caduca generado en el servidor y verificaciones de viabilidad más exhaustivas).
También recomendaría usar un rastreador de paquetes de algún tipo para probar qué tipo de cosas son visibles (originalmente estaba haciendo una verificación mucho más simple que significaba que alguien podría usar un rastreador de paquetes para encontrar y duplicar la solicitud http de una puntuación cargada, sin saberlo la cadena mágica o cualquier cosa (significaba que primero necesitabas un puntaje legítimo, pero podías enviar duplicados de ese puntaje tanto como quisieras ...)). Solía Wireshark para probar esto.
Eh, esto resultó un poco largo, pero espero que ayude ...