Estoy construyendo un simple juego de clicker para jugar en línea.
El juego guarda los clics en mi base de datos al ejecutar una llamada posterior de Ajax a un script php.
Ahora estoy tratando de descubrir cómo podría limitar los envíos de publicaciones desde mi servidor solo para que las personas no puedan hacer trampa simplemente enviando sus propios puntajes directamente a la base de datos mediante la publicación.
Intenté limitar las publicaciones a la IP de mi servidor o localhost, pero eso no funciona ya que la publicación de Ajax usa la propia IP de los usuarios y no la IP de los servidores para publicar. Así que ya no pude publicar ni siquiera desde mi propio servidor después de eso.
Estoy guardando los clics en el almacenamiento local, que sé que es otro lugar donde la gente podría hacer trampa.
¿Qué podría hacer para permitir solo las publicaciones de mi servidor?
Una solución a prueba de trampas sería hacer que el servidor incremente los clics mientras que el usuario/jugador solo envía información sobre una acción, como en un juego multijugador.
Necesitaría una conexión de socket web al servidor y trataría cada conexión/socket como un jugador individual.
Una solución fácil sería usar la biblioteca Node.js backend + socket.io.