Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Variables sesión se pierden con conexión 3G

Estas en el tema de Variables sesión se pierden con conexión 3G en el foro de PHP en Foros del Web. Hola, tenemos un problema grave con los usuarios que acceden a nuestro campus virtual utilizando un pendrive de conexión 3G. En cada página de nuestro ...
  #1 (permalink)  
Antiguo 11/06/2012, 03:14
 
Fecha de Ingreso: enero-2008
Ubicación: Barcelona
Mensajes: 4
Antigüedad: 16 años, 3 meses
Puntos: 0
Exclamación Variables sesión se pierden con conexión 3G

Hola,

tenemos un problema grave con los usuarios que acceden a nuestro campus virtual utilizando un pendrive de conexión 3G.

En cada página de nuestro campus se verifica mediante el siguiente código que el usuario se ha logeado correctamente:

Código PHP:
Ver original
  1. <?PHP session_start();
  2.  
  3. //Para evitar usuarios no deseados
  4. if ($_SESSION['auth']!=true)
  5. {
  6.     session_unset();
  7.     header('Location:index.php'); //Pagina de login
  8.     exit;
  9. }

Si el usuario intenta descargarse un fichero se pierden las variables de sesión de PHP y lo echa del campus, enviándolo a la página de acceso.

La página que descarga el fichero también tiene la validación anterior.

No hemos conseguido reproducir el error, y pensamos que puede producirse por las condiciones de la conexión 3G (cambio de estación base, perdida de conexión, baja cobertura, etc...)

Gracias.
  #2 (permalink)  
Antiguo 11/06/2012, 06:38
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Variables sesión se pierden con conexión 3G

lo que en realidad se pierde es la cookie, no creo posible que por la mala estabilidad de la señal 3G la petición no llegue completa, de ser el caso apache la rechazaría, o el proxy interno del modem USB filtre las cookies (depende del modelo).

la alternativa que veo viable, aunque no la recomiendo es usar use_trans_sid y pasar el ID de sesión por GET.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 11/06/2012, 10:07
 
Fecha de Ingreso: enero-2008
Ubicación: Barcelona
Mensajes: 4
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Variables sesión se pierden con conexión 3G

Gracias por tu rápida respuesta.

Lo raro del problema es que todo el mundo nos comenta que le echa cuando descargan un fichero y no cuando navegan entre páginas (todo y que la comprobación se hace en todas las páginas del campus)

Podría ser la pérdida de cookies, pero entonces lo haría al navegar entre páginas igualmente, ¿no?

Pensamos que la conexión o cobertura porque en la oficina hemos probado con 2 dongles diferentes de marcas diferentes y no hemos tenido problemas. Eso sí, teníamos cobertura perfecta. En cambio algunos usuarios si que estaban en zonas con poca cobertura.
  #4 (permalink)  
Antiguo 11/06/2012, 10:17
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 11 años, 11 meses
Puntos: 32
Respuesta: Variables sesión se pierden con conexión 3G

Como haces la descarga?

Algo asi?

Código HTML:
Ver original
  1. <a href='http://www.eldominio.com/descargas/documento.zip'>Descargar</a>

o asi

Código HTML:
Ver original
  1. <a href='http://www.eldominio.com/descargas/descargar.php?file=documento.zip'>Descargar</a>
__________________
http://www.latinium.com.ar/
  #5 (permalink)  
Antiguo 12/06/2012, 01:28
 
Fecha de Ingreso: enero-2008
Ubicación: Barcelona
Mensajes: 4
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Variables sesión se pierden con conexión 3G

Utilizamos la 2ª forma, y dentro de la página de descargar volvemos a hacer la validación de usuario y password:

Cita:
Iniciado por elgoncho99 Ver Mensaje
Como haces la descarga?

[...]

Código HTML:
Ver original
  1. <a href='http://www.eldominio.com/descargas/descargar.php?file=documento.zip'>Descargar</a>
Adjunto el código de cómo lo hacemos:

Link de descarga:

Código HTML:
Ver original
  1. <a onclick="window.location.href='descarga_fichero.php?id=48558&amp;id_aula=A1188788&amp;p=5'" title="descarregar 21115400_cat.pdf" class="Arial11BlueBold ManoSola">Descarregar</a>

Cabecera página de descarga:

Código PHP:
<?PHP session_start();

//Para evitar usuarios no deseados
if ($_SESSION['auth']!=true)
{
    
session_unset();
    
header('Location:index.php');
    exit;
}

...

Última edición por jromero; 12/06/2012 a las 02:01
  #6 (permalink)  
Antiguo 13/06/2012, 04:37
 
Fecha de Ingreso: enero-2008
Ubicación: Barcelona
Mensajes: 4
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Variables sesión se pierden con conexión 3G

Hace unas semanas instalamos suhosin (http://www.hardened-php.net/suhosin/) en el servidor.
Según parece realiza una encriptación de la sesión y de las cookies.
Hemos probado de desactivar ese par de encriptaciones poniendo en el php.ini:

Código HTML:
Ver original
  1. [suhosin] suhosin.session.encrypt=Off
  2. [suhosin] suhosin.cookie.encrypt=Off
Si funciona lo pondremos en el hilo del foro.

Adjunto los links de la pregunta que lanzamos en stackoverflow y a otro hilo donde se hablaba de este tema:

http://stackoverflow.com/questions/11011295/lost-session-variables-using-3g-dongle

http://stackoverflow.com/questions/3445708/iphone-cookie-caching-issue-on-3g-fine-over-wifi

Etiquetas: conexion3g, dongle, pendrive, sesión, session_vars, suhosin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:19.