La respuesta a esta pregunta puede ser "NO", pero es bastante importante, así que creo que podría preguntar.
Esto debería ser un problema para todos los juegos conscientes de la ubicación del cliente-servidor donde las ubicaciones de los jugadores en el mundo son centrales para el juego. ¿Hay alguna manera de asegurarnos de que los datos de ubicación que provienen del cliente sean reales (es decir, el reproductor está realmente allí)?
Al trabajar en juegos cliente-servidor, todos sabemos que nunca debemos confiar en ninguna información proveniente del cliente y, por lo tanto, toda la lógica importante del juego debe hacerse del lado del servidor. Sin embargo, con la información de ubicación, DEBEMOS recibirla del cliente. ¿Hay alguna manera de verificar esto para evitar trampas?
fuente
No hay nada en el lado del cliente que no pueda ser falsificado, todo lo que alguien tiene acceso físico puede ser manipulado.
La IP contiene información de enrutamiento y, por lo tanto, insinúa la ubicación. Pero el jugador solo necesita un proxy y grita ... la IP sugiere una ubicación completamente diferente a la del jugador.
Confía en tus jugadores, no les des una razón para intentar engañar al sistema en primer lugar.
fuente
Realmente no puede verificar esta información más de lo que realmente puede verificar cualquier información creada por una fuente externa. Entonces, lo que quieres es teóricamente imposible. Pero probablemente puedas hacer que sea un poco más difícil fingir.
Por ejemplo, en teléfonos Android tienes varios proveedores de ubicación , como ubicar a un usuario en los mástiles de teléfonos celulares cercanos, el sistema de posición Wi-Fi, etc. Podría requerir que al menos dos proveedores de ubicación devuelvan valores similares para confiar en los más precisos. de los dos.
No recomendaría usar la geolocalización de IP; aquí en el Reino Unido es irremediablemente inexacto ya que la mayoría de nosotros usamos ISP nacionales. En un buen día, los anuncios orientados geográficamente se refieren a ubicaciones a unas 20 millas de distancia, y en un mal día piensan que estoy a 100 millas de distancia. ¡Pero probablemente pueda usarlo para verificar que el usuario esté en el país correcto!
fuente
No, no hay manera. Ni siquiera en teoría.
fuente