Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: yoelrodguez en 11 Octubre 2016, 17:49 pm



Título: Cerrar la $_session
Publicado por: yoelrodguez en 11 Octubre 2016, 17:49 pm
Hola todos, tengo el siguiente problema. Quiero que en el momento de cerrar el navegador se me destruya la  $_session. Sin utilizar el botón de salir. Estoy usando las variables globales de php no los cookie.

Saludos 


Título: Re: Cerrar la $_session
Publicado por: engel lex en 11 Octubre 2016, 22:47 pm
puedes hacerlo con cookies... que la cookie se destruya al cerrar...

solo con php no es tan simple... el navegador no indica al server cuando se cierra... tendrías que usar un proceso cron de fondo que revise las sessiones que llevan más de x minutos sin actividad y las cierres, aunque en general, con guardar un valor de tiempo y comparar


Título: Re: Cerrar la $_session
Publicado por: yoelrodguez en 11 Octubre 2016, 22:50 pm
OK ahora existe alguna forma que yo pueda hacerlo con jquery en el momento de cerrar el navegador. He buscado en internet pero no he encontrado nada.

Saludos


Título: Re: Cerrar la $_session
Publicado por: engel lex en 11 Octubre 2016, 23:02 pm
el navegador no envía señal de cierre y no va a esperar que un script se ejecute para cerrarse... en tal caso podrías usar el jquery para actualize la sesion, de tal forma que un proceso de cron la cierre despues de un par de minutos sin actividad (atencion!, esto aplicará cuando cierre la pestaña, no navegador)


Título: Re: Cerrar la $_session
Publicado por: d91 en 12 Octubre 2016, 14:39 pm
prueba con este script:
Código
  1. <html>
  2. <head>
  3. <title>Prueba de abandono de página</title>
  4. <script language="javascript" type="text/javascript">
  5.  
  6.    var bPreguntar = true;
  7.  
  8.    window.onbeforeunload = preguntarAntesDeSalir;
  9.  
  10.    function preguntarAntesDeSalir()
  11.    {
  12.      if (bPreguntar)
  13.        return "¿Seguro que quieres salir?";
  14.    }
  15. </script>
  16. </head>
  17. <body>
  18. <h1>Ejemplo de abandono de página</h1>
  19. <p>Por defecto preguntará hasta que pulses el botón de "No preguntar"</p>
  20. <input type="button" value="Preguntar" onclick="bPreguntar = true;" >
  21. &nbsp;&nbsp;
  22. <input type="button" value="No preguntar" onclick="bPreguntar = false;" >
  23. <br/><br/>
  24. <a href="index.php">Ir a otra página</a>
  25. </body>
  26. </html>
  27.  

es solo una idea


Título: Re: Cerrar la $_session
Publicado por: [u]nsigned en 14 Octubre 2016, 16:21 pm
La session ($_SESSION) se destruye automáticamente cuando se cierra el navegador. Al menos esa es la configuracion por defecto, deberias revisar tu php.ini o agregar en tu scripts:

Código
  1. ini_set('session.cookie-lifetime', 0);

http://php.net/manual/es/session.configuration.php#ini.session.cookie-lifetime