2010-02-14 11 views

Respuesta

5

La clave de sesión se almacena en el navegador del cliente, mientras que los datos se almacenan en el servidor.

Cuando el usuario realiza una solicitud en el servidor, su clave de sesión se envía a través de la red y los valores asociados con su clave se recuperan del archivo de sesión específico en el servidor y se puede acceder a través de $ _SESSION.

Es posible secuestrar la sesión de otro usuario si se intercepta la clave, por lo que debe tener valores específicos en la sesión que asocian a la conexión de red/computadora del usuario (dirección IP, por ejemplo).

+1

No deseo que el usuario edite los datos. Él no puede editar los datos, ¿verdad? – FinalDestiny

+1

no, él no puede ... –

0

Normalmente se almacenan en el directorio/tmp de un servidor web si el host no tiene cuidado. Esto se puede cambiar con session_save_path(), es algo que hago con todas mis aplicaciones PHP que usan sesiones.

2

Los datos de sesión no pueden ser editados por el usuario, ya que están almacenados en el servidor. Sin embargo, el usuario puede comenzar una nueva sesión y deshacerse de los datos de sesión que tenía previamente. Además, debe tener en cuenta el posible security issues, como la fijación de sesión.

0

esto funciona, como a continuación:

  1. navegador solicita la página, presentando el ID de sesión SID o con ayuda de una galleta o con la URL.
  2. Server encuentra archivos cookie en el interior del session_save_path() y unserializes la matriz
  3. Usted acceder a esa información con PHP

Por desgracia, lo único que el cliente sabe es el ID de la sesión, pero que puede ser secuestrado, por ejemplo, mediante el uso de cookies robadores u otros métodos de Cross Site Scripting. Si yo, por ejemplo, obtuve su sesión SO, SO no sabría mejor que yo. A menos que también revisen mi IP o algo así.