Foros del Web » Programando para Internet » PHP »

Problema extraño con sesiones PHP

Estas en el tema de Problema extraño con sesiones PHP en el foro de PHP en Foros del Web. Compañeros buenas noches. Resulta que tengo un problema muy extraño con las sesiones que me tiene dando vueltas la cabeza sin encontrar cual puede ser ...
  #1 (permalink)  
Antiguo 31/10/2016, 19:19
Avatar de oscarva  
Fecha de Ingreso: agosto-2004
Ubicación: Bogota - Colombia
Mensajes: 425
Antigüedad: 19 años, 8 meses
Puntos: 2
Problema extraño con sesiones PHP

Compañeros buenas noches.

Resulta que tengo un problema muy extraño con las sesiones que me tiene dando vueltas la cabeza sin encontrar cual puede ser el problema.

Hago uso de las sesiones para dar acceso a mis usuarios a un panel de control, el sistema de login es el normal, si son correctos usuario y contraseña entonces:

Código PHP:
//Creo la sesiones
$_SESSION["log"] = "true";
$_SESSION["user"] = $row['email'];
$_SESSION["dlog"] = $row['id']; 
Y en las protegidas simplemente:

Código PHP:
session_start();
header("Expires: Tue, 01 Jul 2001 06:00:00 GMT");
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0"false);
header("Pragma: no-cache");
if (isset(
$_SESSION["user"])) {
//Si esta logueado
}else{
//No esta logueado
header('Location: ../login.php');

Funciono perfecto por muchos años, hasta que desde hace unos meses me están llegando reportes de usuarios que al ingresar al panel de control, especificamente a una sección donde se muestran los contactos que recibieron, les muestra los de otro usuario, simplemente cambia los valores de las sesiones user y dlog, y les muestra los contactos de otros usuarios, lo raro es que al parecer al regresar al panel principal retoma la session correcta.

Investigando los logs de acceso esto está pasando cuando ingresan desde móviles, y veo que son usuarios a los que se les modifica constantemente la IP, incluso una de las ip por las que se les modifica es una ip de google "66.249.88.XX".

Otro dato importante es que en la sección de contactos hago uso de iframes para mostrara la información, en el resto de secciones no.

¿Que podrá estar pasando?
¿será por el uso de iframes?
¿será que google tiene indexado o recorre estas secciones privadas? Aunque investigue un poco y parece no tener indexadas estas paginas, pero igual las puede recorrer.
¿será que tengo que hacer una comprobación guardando el login en la base de datos y comprobando tanto el id del usuario como su navegador para en caso de que no concuerden los saque? aunque esta sería una solución poco efectiva ya que viviría sacando usuarios el sistema.

Ojalá me puedan ayudar, muchas gracias.
  #2 (permalink)  
Antiguo 03/11/2016, 01:02
 
Fecha de Ingreso: febrero-2012
Mensajes: 66
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Problema extraño con sesiones PHP

Las sesiones no cambian de valor solas, ¿Que cambios has hecho últimamente en el código? ¿La ip solo la guardas para el log o la usas para algo más?

Y Google no puede recorrer las páginas privadas. A parte de hacer un header haz un die, ya que si por algún motivo se muestra contenido y no se hace el header, la página se mostraría.

Un saludo.
  #3 (permalink)  
Antiguo 03/11/2016, 14:13
Avatar de oscarva  
Fecha de Ingreso: agosto-2004
Ubicación: Bogota - Colombia
Mensajes: 425
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problema extraño con sesiones PHP

Cita:
Iniciado por Hachikora Ver Mensaje
Las sesiones no cambian de valor solas, ¿Que cambios has hecho últimamente en el código? ¿La ip solo la guardas para el log o la usas para algo más?

Y Google no puede recorrer las páginas privadas. A parte de hacer un header haz un die, ya que si por algún motivo se muestra contenido y no se hace el header, la página se mostraría.

Un saludo.
Gracias por tu respuesta.

No hice ningún cambio en el código, la IP solo la guardo para el log y no más.

Deberían no cambiar las sesiones pero lo están haciendo :(, como te comento gracias al log pude definir que esto le pasa a algunos usuarios que entran por dispositivo móvil y a los cuales se les esta modificando la ip constantemente, además son usuarios que están relativamente cerca o por lo menos en la misma ciudad.

Básicamente el usuario hace login e ingresa a un panel de control, en el panel de control también se le muestra contenido protegido y lo muestra correctamente, pero entonces cuando ingresan a ver los contactos el sistema lo toma como si fuera otro usuario logueado y le muestra los contactos de ese otro usuario. El cambio se hace en la sesión ya que imprimo el valor de la sesión y efectivamente este cambió.

Ahora, mirando los logs decía que pudiera ser Google porque en muchas ocasiones en que se le muestra la información incorrecta al usuario, la ip que me reporta el log cambió por "66.249.88.XX" que es una ip perteneciente a Google.

Por el momento voy a modificar la forma de mostrar los contactos para dejar de usar iframe y voy a decirle a google y demás buscadores que no indexen ni rastreen dichas url a ver. Aunque lo de google es muy difícil que sea la causa ya que solo sucede en la sección de contactos.

Un abrazo y ojalá me puedan dar más pistas.

Última edición por oscarva; 03/11/2016 a las 17:18
  #4 (permalink)  
Antiguo 04/11/2016, 03:09
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Problema extraño con sesiones PHP

La causa es tu código, las sesiones no se cambian solas como ya te han dicho, en algún lado las estas cambiando, revisa tus códigos, un fallo habitual y que pasa por despiste es en los if utilizar = en lugar de == o ===, por lo que en lugar de comparar se asigna el valor.

Revisa tu código o postea las partes de codigo donde creas las sesiones y de donde muestras el panel de control.

Otra cosa puede ser que estés recibiendo una inyección sql, pero todo esto no son más que conjeturas ya que no se que y como estas haciendo las cosas exactamente.
__________________
Unset($vida['malRollo']);

Etiquetas: extraño, login, sesiones, usuario
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 11:49.