2010-02-15 6 views
5

En mi juego de JavaScript (hecho con jQuery) tengo la posición del jugador almacenada en una base de datos. Cuando el personaje se está moviendo, solo envío una solicitud a specyfic URL, I.E. mysite.com/map/x1/y3 (donde la posición de un personaje es x = 1, y = 3).ajax safety en juegos de javascript

Esa url envía coordenadas a la base de datos y comprueba si hay otros jugadores cerca de nosotros. Si es así, envía también el objeto JSON con el nombre y las coordenadas de esos jugadores.

Y esta es mi pregunta: ¿cómo protegerla? Alguien podría mirar mi código JavaScript y preparar la url que se parece al mysite.com/map/x100/y234, y lo "teletransportará" a algún otro lado del mapa.

+0

lo que estás preguntando es total y absolutamente imposible. – rook

Respuesta

0

Puede ofuscar el código fuente de su javascript. Eso al menos disuadirá a los trucos casuales, sin embargo, probablemente no haya forma de hacerlo completamente seguro usando javascript.

+0

No existe la seguridad aunque oscura. Para atacar este sistema, usaría tamperdata, no me importa cómo se ve el script. – rook

8

Cualquier dato/cálculo procesado en JavaScript en el navegador será inseguro ya que todo el código se ejecuta en la máquina local. Recomendaría enumerar todos los parámetros críticos para una experiencia de juego justa, como la posición del jugador, puntaje, recursos ... y calcular la administración de estos parámetros en el lado del servidor. Solo recopilaría las entradas de usuario del navegador y enviaría el estado actualizado al navegador para su visualización.

Incluso si elige calcular algunos valores en el lado del navegador para evitar la latencia, no debe tenerlos en cuenta para el estado global compartido por los reproductores, y debe volver a sincronizar el estado local con el estado global, siempre en el dirección global a local - de vez en cuando.

Al igual que en un manejo de formulario típico, también debe comprobar que los valores enviados por el navegador para las entradas del usuario caen dentro de límites razonables, p. el movimiento relativo en un segundo es menor que cierta distancia.

+0

+1 ¡Buen consejo! –