tag storage_path name php apache

php - storage_path - ¿Cómo funciona la sesión?



get tag name wordpress (9)

Cualquier cuerpo puede explicarme cómo funciona la sesión en PHP. por ej. 3 usuarios iniciaron sesión en gmail. cómo el servidor identifica estos 3 uers. ¿cuál es el proceso interno detrás de eso?


Gmail usa Python, creo, no PHP.

PHP por defecto escribe sus sesiones en el directorio /tmp . Se puede configurar para almacenar las sesiones en la base de datos.

Identifica las sesiones a través de una cookie, pero también se puede configurar para pasar una cadena de consulta, pero es muy feo.


La función session_start () define en la parte superior del encabezado ... esto generará un número único. La sesión es la forma de comunicarse con el servidor. Tienda de sesiones en el lado del servidor y del lado del cliente. Secuencia de la tienda del navegador en el archivo tmp o cookies.

Las cookies mantienen el nombre y el valor de la sesión, no ponen los datos de la sesión. Los datos guardados por sesión en el lado del servidor. cuando el cliente envía la solicitud al servidor ... el servidor obtiene la ID de sesión y devuelve los datos al cliente. La session_id generate del lado del servidor y session_id es la forma de identificar la solicitud desde donde.


La función session_start () genera un identificador de sesión aleatorio y lo almacena en una cookie en la computadora del usuario (esta es la única información de sesión que realmente se almacena en el lado del cliente). El nombre predeterminado para la cookie es PHPSESSID, aunque esto puede ser cambiado en los archivos de configuración de PHP en el servidor (sin embargo, la mayoría de las compañías de hosting lo dejarán en paz.) Para hacer referencia al identificador de sesión en su código PHP, por lo tanto, haría referencia a la variable $ PHPSESSID (es un nombre de cookie; ¿recuerde esto desde Cookies? ) Es posible que su mente aguda se pregunte qué sucede cuando llega al segundo pase a través de su página y alcanza de nuevo la función session_start (). PHP sabe que ya hay una sesión sobre el progreso e ignora las instancias posteriores de session_start ()


La primera vez que abre una página web (una URL) su navegador envía una solicitud a ese servidor, en este momento, el encabezado no contiene ninguna cookie o sesión para ser incluida, luego, después de las respuestas del servidor al navegador web (User Agent ) el servidor podría enviar cookies o sesiones, en este momento, el navegador los guardó para la próxima solicitud.

Ahora, al volver a cargar la página, el navegador devuelve la cookie al servidor (contenida en el encabezado de la solicitud), luego, el servidor puede acceder a ella y validarla.

Para la sesión: es una cookie temporal, que se cerrará una vez que se cierre Windows.

SESIÓN PHP PHP utiliza una cookie de sesión para un par de clave-valor que recibe el nombre de PHPSESSID , el servidor depende del valor de esta clave y de la búsqueda del par clave-valor equivalente utilizando el valor de PHPSESSID. El uso de este enfoque previene algún tipo de ataque, como descifrar los valores reales de la cookie, porque la cookie guarda todos los pares clave-valor en la PC de los clientes, mientras que la sesión depende de un par clave-valor.


Las sesiones se componen de dos componentes, una ID de sesión del lado del cliente y datos de sesión del lado del servidor . Los clientes pueden enviar una identificación de sesión al servidor como parámetro de URL, cookie o incluso encabezados HTTP. El servidor luego usa esta ID de sesión para encontrar los datos de la sesión apropiados para regresar al cliente.

Puede ajustar el comportamiento de la sesión a través de varias funciones session_ .


Las sesiones son muy sencillas.

Cuando inicio sesión en su sitio, PHP establecerá una cookie de navegador estándar con una "ID de sesión", generalmente una cadena alfanumérica como 63f1a67cf52b5d2bbd0cbef45e18b242 .

Al igual que con todas las cookies, mi navegador enviará esa cookie a su servidor con cada solicitud que haga. Por lo tanto, su aplicación ahora sabe que todas las solicitudes que vienen con una ID de sesión de 63f1a67cf52b5d2bbd0cbef45e18b242 provienen de mí.

Por lo tanto, si necesita almacenar cualquier información sobre mí, puede realizar un seguimiento de ello en 63f1a67cf52b5d2bbd0cbef45e18b242 . Por defecto, PHP almacena esta información en archivos en el directorio /tmp/ , aunque puede anularla y almacenarla en cualquier lugar que desee (por ejemplo, en una base de datos). Lo que importa es asociar esa ID de sesión con un usuario particular.

No quiero simplificar demasiado las cosas. Hay algunas preocupaciones (por ejemplo, ¿qué pasa si un intruso ve mi ID de sesión sin encriptar y comienza a usarla él mismo? Podría concebiblemente empezar a hacerse pasar por mí), y hay algunas formas de aliviar esas preocupaciones. Pero el mecanismo básico para almacenar una ID de sesión en una cookie y usarlo para identificar información sobre mí almacenada en el servidor es bastante universal.


Las sesiones son una combinación de datos de sesión del lado del servidor y una cookie del lado del cliente, con la cookie del lado del cliente que no contiene nada más que una referencia a los datos correctos en el servidor. Por lo tanto, cuando el usuario visita el sitio, su navegador envía el código de referencia al servidor, que carga los datos correspondientes.

Esto puede parecer un poco más complejo que tener una cookie del lado del cliente con todos sus datos, pero hay algunas ventajas:

  • Sus datos de sesión del lado del servidor pueden contener grandes cantidades de datos sin problemas: las cookies del lado del cliente tienen un tamaño limitado
  • Su cookie del lado del cliente no contiene nada más que un pequeño código de referencia: a medida que esta cookie se pasa cada vez que alguien visita una página en su sitio, usted está ahorrando mucho ancho de banda al no transferir grandes cookies del lado del cliente
  • Los datos de la sesión son mucho más seguros: solo usted puede manipularlos, a diferencia de las cookies del lado del cliente que son editables por todos

También es importante tener en cuenta que las sesiones solo duran hasta que el usuario cierra su navegador, mientras que las cookies se pueden configurar para que duren más. Sin embargo, aparte de lo anterior, no hay mucha diferencia entre los datos de la sesión y los datos de las cookies para la mayoría de los propósitos.

El siguiente es un muy buen artículo que explica cómo funcionan las sesiones y las cookies dentro de PHP.


Una galleta.
O un parámetro en la url. Y este proceso de internet se llama protocolo HTTP.


¿Cómo funciona la sesión de PHP?

  • En primer lugar, PHP crea un número de identificación único (una cadena aleatoria de 32 números hexadecimales, por ejemplo, 3c7foj34c3jj973hjkop2fc937e3443) para una sesión individual.

  • La cookie PHPSESSID pasó ese número de identificación único al navegador de los usuarios para guardar ese número.

  • Se está creando un nuevo archivo para el servidor con el mismo nombre de número de identificación único con el prefijo sess_ (es decir, sess_3c7foj34c3jj973hjkop2fc937e3443).

  • El navegador web envió esa cookie al servidor con cada solicitud.

  • Si PHP obtiene ese número único de identificación de la cookie PHPSESSID (en cada solicitud), entonces busque en el directorio temporal y compare ese número y nombre de archivo. Si ambos son iguales, recupera la sesión existente; de ​​lo contrario, cree una nueva sesión para ese usuario.

Una sesión se destruye cuando el usuario cierra el navegador o abandona el sitio. El servidor también finalizó la sesión después del período predeterminado de tiempo de sesión. Estos son los mecanismos simples que utilizan PHP para manejar la sesión. Espero que este artículo te ayude a comprender cómo funciona PHP SESSION.

Vea este artículo para más detalles. ¿Cómo funciona la sesión de PHP?