Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/06/2008, 02:56
DarkJ
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: pasar variables entre paginas (sin GET)

Con filtrado me refiero a que si un parametro solo puede ser un entero positivo, pues solo tomar el valor si es un entero positivo; escapar las comillas en los parametros que van a formar consultas sql, etc.

Pero creo que en tu caso lo que necesitas es otro planteamiento, porque es un juego. Quizas deberias plantearlo para que lo que llege desde el navegador no sea un cambio de estado, sino una accion. Y en el servidor hacer 2 cosas: comprobar que la accion es posible; y ejecutar la accion que cambia el estado.

Por ejemplo, si tienes un link "comer manzana", en tu servidor primero tienes que comprobar que puede comer una manzana (comprobar que la tiene en el inventario), y si puede, cambiar el estado (eliminar la manzana del inventario, aumentar la vida del jugador).

El tema es que siempre vas a tener links distintos para cada accion distinta. La sesion te sirve para almacenar el estado, pero siempre vas a necesitar algo en los enlaces para distinguir la accion.

Por ejemplo, en la sesion puedes tener la lista del inventario, pero en la pagina que muestras el inventario tendras una accion "usar objeto". Tendras para cada objeto un link usar_objeto.php?id=id_objeto. Porque con un solo enlace usar_objeto.php, ¿como sabes a que objeto hace referencia el jugador?

Puedes usar "firmas" para descartar rapidamente links creados a mano por los usuarios (añadir un campo extra que es el resultado de md5 la concatenacion de los parametros y una palabra secreta que solo esta en el servidor).