sesiones sesion manejo las funcionan ejemplos como _cookie http cookies session-variables

http - las - manejo de sesiones en php



¿Cuándo debería usar variables de sesión en lugar de cookies? (11)

La mayoría de las veces, el estado de la sesión se conserva utilizando cookies. Entonces, realmente no se trata de una cosa u otra, sino de cómo usarlas juntas.

El uso de la infraestructura de sesión de su infraestructura puede facilitar las cosas, pero el seguimiento del estado de forma manual con las cookies generalmente le da un control más detallado. La solución correcta depende de lo que estás tratando de lograr.

Las variables de sesión y las cookies me parecen muy similares. Entiendo las diferencias técnicas, pero ¿cómo decides cuándo usar una frente a la otra?


Las cookies pueden persistir más tiempo que una sola sesión. Sin embargo, el usuario también puede eliminar las cookies, o puede tener un usuario cuyo navegador no acepte cookies (en cuyo caso solo funcionará una sesión en el servidor).


Las cookies se envían al servidor cada vez que se solicite, de modo que si planea almacenar una buena cantidad de datos, guárdelos en sesión; de lo contrario, si almacena pequeñas cantidades de datos, una cookie estará bien. Cualquier información confidencial debe almacenarse en sesión, ya que las cookies no son 100% seguras. Una ventaja de las cookies es que puede guardar memoria en su servidor que normalmente estaría almacenando datos de sesión.


Las cookies son del lado del cliente, las sesiones son del lado del servidor. Utilice cookies para pequeñas piezas de datos en las que puede confiar el usuario (como la configuración de fuentes, el tema del sitio, etc.) y para los ID opacos para los datos del lado del servidor (como el ID de la sesión). Espere que estos datos se puedan perder en cualquier momento y no se pueda confiar en ellos (es decir, que se los desinfecte). Utilice datos de sesión para fragmentos de datos más grandes (para muchos sistemas pueden almacenar objetos, estructuras de datos, etc.) y aquellos en los que tiene que confiar, como el estado de autorización, etc. En general, utilice datos de sesión para almacenar datos de estado más grandes.

También puede almacenar cosas como el estado de autorización en las cookies, si es necesario para la GUI, el almacenamiento en caché, etc., pero nunca confíe en él y nunca confíe en que esté presente. Las cookies son fáciles de eliminar y fáciles de falsificar. Los datos de sesión son mucho más difíciles de falsificar, ya que su aplicación lo controla.


Las sesiones se almacenan en el servidor. Si almacena algo en una cookie, el navegador del usuario envía esa información con cada solicitud, lo que puede ralentizar su sitio desde la perspectiva del usuario. Intento evitar el uso de cookies cuando puedo.


Las sesiones se almacenan en el servidor. Si un visitante almacena algo en una cookie, el navegador enviará la información del usuario para cada solicitud realizada. Esto suele consumir una gran cantidad de servidores en la computadora y ralentizar la experiencia de los usuarios. Algunos navegadores tampoco las cookies de soporte dan más ventajas a las sesiones que a las cookies. Recomiendo sesiones. Este sitio puede ayudar a http://php.net/manual/en/features.cookies.php gracias.


Uno de los inconvenientes de las sesiones de PHP es cómo funciona la sesión. Específicamente, solo un proceso / solicitud puede tener una sesión abierta para escribir a la vez. Sobre

session_start()

el archivo de sesión está bloqueado. Si aparecen más procesos, el resto se acumula y espera su turno.

En otras palabras, si está usando AJAX en una página para actualizar varios elementos, no desea que las solicitudes AJAX abran la misma sesión, se verán obligados a cola y si una de esas solicitudes se bloquea, no se publicará. la sesión, lo que da como resultado un bloqueo del navegador donde la apertura de una nueva pestaña o ventana solo coloca otra solicitud no rellenable en la cola del servidor. Utilizando

session_write_close()

tan pronto como sea posible para liberar la sesión es una solución parcial.

Una solicitud de larga ejecución con un usuario que se aburre y la apertura de más ventanas podría tener el mismo efecto colgante del navegador.

Recomiendo evitar las sesiones de PHP.


Use las sessions solo si los datos son demasiado grandes para las cookies o si los datos son tan grandes que disminuirán el rendimiento si usó cookies .

Por ejemplo, si está guardando datos más pequeños, entonces el tamaño de una session id en su cookie , como 2 tokens de inicio de sesión o algo similar ... Entonces no veo por qué usaría sessions sobre cookies .

También tenga en cuenta que los archivos de sesión de PHP se guardan en el disco de forma predeterminada, en comparación con las cookies, que se guardan solo en el lado del cliente.


Tu guía definitiva

NB: la cookie se almacena en los navegadores de los usuarios, la sesión se almacena en la máquina del servidor de alojamiento.

Cuándo usar

  1. Use una cookie cuando quiera que su aplicación recuerde siempre los datos de los usuarios, incluso cuando hayan cerrado sus navegadores. Por ejemplo, cada vez que escribe www.Facebook.com lo lleva a su cuenta, incluso cuando su navegador se ha cerrado y vuelto a abrir.

    Debido a que todos los datos guardados en una sesión se borran una vez que cierre su navegador.

  2. Use una cookie cuando la información del usuario que se almacenará es mucho más grande que lo normal. ... Con la sesión si tiene una base de usuarios más grande como Facebook, piense en cómo se verá almacenando todas las sesiones de usuario en la máquina de alojamiento.

  3. Use una sesión cuando la información del usuario que se almacenará no sea más grande que lo normal, y no quiere que el público tenga acceso a sus variables de usuario ...


  • usar sesión siempre
  • use cookies solo si necesita sesiones registradas más largas; luego agregue una cookie con un userId encriptado.

  • Las sesiones se almacenan en el servidor, lo que significa que los clientes no tienen acceso a la información que almacena sobre ellos. Los datos de sesión, que se almacenan en su servidor, no necesitan ser transmitidos en su totalidad con cada página; los clientes solo necesitan enviar una identificación y los datos se cargan desde el servidor.

  • Por otro lado, las cookies se almacenan en el cliente. Se pueden hacer duraderos por mucho tiempo y te permiten trabajar más fácilmente cuando tienes un grupo de servidores web. Sin embargo, a diferencia de las Sesiones, los datos almacenados en las Cookies se transmiten por completo con cada solicitud de página.

  • Evite almacenar datos en las cookies

    • puede ser visto, leído y manipulado por el usuario final, o interceptado por aquellos con intenciones nefastas. No puede confiar en ningún dato de las cookies, excepto en el "session_id".
    • Aumenta el ancho de banda, si agrega 1k de datos por solicitud de página por usuario, eso podría aumentar su ancho de banda en un 10-15%. Esto quizás no sea costoso desde una perspectiva $$, pero podría ser desde una perspectiva de rendimiento. De hecho, disminuiría su ancho de banda en un servidor por 10-15%, es decir, podría hacer que necesite más servidores.
  • Lo que puede almacenar en los datos de la sesión depende de la cantidad de datos y la cantidad de usuarios que tenga. no_of_users * size_of_session_data debe tener menos memoria libre disponible en su servidor.