start sesiones pasar paginas manejo las funcionan entre ejemplos ejemplo control como php codeigniter session kohana

pasar - La mejor biblioteca para sesiones de PHP



session php (4)

¿Has Zend_Session un vistazo a Zend_Session ?

  • Puede pasar el identificador de sesión a través de la URL usando la configuración de PHP
  • puede expirar ciertas variables de sesión por tiempo o por saltos (solicitudes)
  • la migración a otras aplicaciones no será tan fácil y creo que no es muy buena cuando $_SESSION con $_SESSION cuando usas Zend_Session
  • Zend_Session tiene un enfoque basado en adpater para guardar datos de sesión. Se incluye un save-handler de save-handler para las bases de datos, pero su arquitectura permite que los controladores personalizados se transfieran.
  • Zend_Session admite validadores para verificar la validez de una sesión. Aquí también tenemos una arquitectura abierta que le permite pasar objetos personalizados para su validación.
  • puede bloquear una sesión, también puede hacer que sea de solo lectura
  • puede evitar la creación de instancias de varias instancias del mismo espacio de nombres de sesión
  • Además, hay mucho más que descubrir con Zend_Session , como la regeneración de identificadores de sesión, la emisión de cookies para recordar, revocar las cookies para recordar, etc.

He estado usando el sistema CodeIgniter desde hace un tiempo, pero es breve . Estoy agradecido por lo que me enseñó, pero ahora necesito una biblioteca para un nuevo proyecto que no sea codeigniter y, por lo tanto, busco ideas sobre qué bibliotecas tienen las cosas bien y cuáles no. Probablemente tendré que tomar piezas de varias bibliotecas para obtener todo lo que necesito.

Acabo de echar un vistazo a la biblioteca de sesiones PHP de Kohana y me gusta cómo vuelve a la forma nativa de PHP de usar $ _SESSION superglobal en lugar de forzar un cambio a $ this-> session para acceder a los datos.

En cualquier caso, quería saber si había otras bibliotecas de buena sesión por ahí que podría estar jugando. Hay mucho que debe manejarse en una sesión además de solo CRUD funcionalmente.

  • Compatibilidad con el paso de sesiones no basadas en cookies (es decir, cargadores de Facebook o Flash)
  • Los "datos flash" que solo duran para la siguiente carga de página y luego se eliminan automáticamente.
  • Funciona con $ _SESSION o $ this-> session para que los programadores no tengan que cambiar el código existente.
  • Admite la configuración de una nueva ID de sesión (es decir, session_id (''nueva ID'')) en caso de que desee cambiar la ID a mitad de la página.
  • Guarda todos los datos al final de la solicitud de página en lugar de cada vez que se agregan o eliminan datos (guarda consultas de base de datos adicionales).
  • Admite el uso de archivos, cookies o bases de datos para el almacenamiento. (o memcached estaría bien)
  • Intenta denegar el acceso en caso de un secuestro de sesión. (IP, agente de usuario o fingerprint )

Acabo de pasar un tiempo repasando la lógica de las bibliotecas de sesiones CodeIgniter y Kohana y encontré lo siguiente sobre cómo cada una de ellas inicia y finaliza las sesiones de la página.

/************** ** Kohana Sessions **************/ If not native file storage { session_set_save_handler to the storage type (DB, cache, cookie...) } set the session_name() so php knows what cookie value to check start session /****** Saving ******/ session_write_close() which calls the given handler /************** ** CI Sessions **************/ Try to read_session() -> { session = Get cookie (if using cookies will also contain data) if(database) { session .= pull data from database } checks if valid... $this->userdata = session data } else { create a new one } /****** Saving ******/ session data is serialized either way if(cookie) { save cookie with serialized data and params like "last_activity" } if(database) { save serialized data in db and session in cookie }


De acuerdo, después de revisar el código personalizado, no - $ _ SESSION basado en la biblioteca de códigos, las dos bibliotecas Kohana y Zend (que usan $ _SESSION), y varias otras bibliotecas de sesión de otros proyectos, creo que construyo la respuesta a mi problema. Algo que satisface todas las cosas que enumeré anteriormente (excepto los datos flash).

Aquí está el código si alguien quiere usarlo o leerlo mientras construye su propia biblioteca. Dejé muchos comentarios a fondo explicando todo el asunto y me encantaría tener algunos comentarios al respecto. Admite tokens, cargadores basados ​​en flash, cookies, regeneración de sesiones cada 5 minutos (o lo que sea que establezca) con la eliminación de sesiones anteriores y soporte para almacenar sesiones en cualquier base de datos, el sistema de archivos, memchache o cualquier otra forma que desee. conjunto.


Eche un vistazo a Zebra_Session, un contenedor para las funciones de manejo de sesiones predeterminadas de PHP, que utiliza MySQL para almacenamiento

  • actúa como un envoltorio para las funciones de manejo de sesión por defecto de PHP, pero en lugar de almacenar los datos de la sesión en archivos planos, los almacena en una base de datos MySQL, brindando mayor seguridad y mejor rendimiento

  • es un reemplazo inmediato y aparentemente impecable del controlador de sesión predeterminado de PHP: las sesiones de PHP se utilizarán de la misma manera que antes de usar la biblioteca; ¡No necesitas cambiar ningún código existente!

  • implementa bloqueos de filas, asegurando que los datos se manejen correctamente en escenarios con múltiples solicitudes AJAX concurrentes

  • solo un archivo

  • Maduro, altamente optimizado y en constante desarrollo.

  • muy buena documentación