Foros del Web » Programando para Internet » PHP »

Sessiones en diferentes directorios

Estas en el tema de Sessiones en diferentes directorios en el foro de PHP en Foros del Web. Hola como estan, bueno amigos mi problema es el siguiente estoy usando sessiones en un proyecto que estoy haciendo, todo va bien con sistema de ...
  #1 (permalink)  
Antiguo 22/02/2007, 18:19
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Sessiones en diferentes directorios

Hola como estan, bueno amigos mi problema es el siguiente estoy usando sessiones en un proyecto que estoy haciendo, todo va bien con sistema de usuarios donde uno se loguea y se crea sessiones, en el mismo proyecto estoy haciendo un sistema de noticias donde tendra un panel de administracion lo cual tambien usa sesiones, ahora el error que tengo es que cuando inicio session en el sistema de usuarios tambien puede ingresar al panel de administracion lo cual es un grave error, ahora mi pregunta es como puedo hacer para que no suceda eso, la forma como pregunto si a iniciado session es la siguiente:

<?
session_start();
if(!isset($SESSION)){
header("location: index.php");
} else {
todo el codigo de usuario


y pienso que esta mal por que lo mismo tengo en el panel de administracion de noticias y logico que va entrar por que en usuarios es lo mismo y si inicio session ahi tambien podre entrar al panel, agradesco su ayuda que me pueden brindar. gracias
  #2 (permalink)  
Antiguo 22/02/2007, 20:34
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Re: Sessiones en diferentes directorios

Lo que deberias hacer es crearte una variable en la sesion que indique en que parte del site se loggearon, por ejemplo

en el script qe loggea usuarios 'comunes'
Código:
$_SESSION['ingreso_desde']='site';
en el script que loggea los admins
Código:
$_SESSION['ingreso_desde']='panel'
y entonces que las paginas para usuarios comprueben, a demas del login si $_SESSION['ingreso_desde'] sea igual si o si a 'site', y las paginas del panel comprueben que $_SESSION['ingreso_desde'] sea igual a 'panel'

espero que te pueda servir

exitos!
  #3 (permalink)  
Antiguo 23/02/2007, 11:19
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Re: Sessiones en diferentes directorios

Hola muchas gracias por la pronta respuesta lo probare y de verdad gracias un saludo y suerte
  #4 (permalink)  
Antiguo 23/02/2007, 11:41
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Re: Sessiones en diferentes directorios

ya lo probe y me sale perfecto gracias gep. suerte..
  #5 (permalink)  
Antiguo 23/02/2007, 12:18
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Re: Sessiones en diferentes directorios

Y si asignas perfiles a tus usuarios??, creo que es la manera mas adecuada de manejar este tipo de inconvenientes.

Con los perfiles y un código que tú crees, definiendo permisos, todo se arreglará.

Saludos!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 23/02/2007, 12:28
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Re: Sessiones en diferentes directorios

Hola Carxl como estas? bueno la verdad no se como se aria como tu dices, con perfiles por favor te gradeceria si me pusieras un ejemplo para ver su funcionamiento, gracias de antemano.
  #7 (permalink)  
Antiguo 23/02/2007, 12:59
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 8 meses
Puntos: 5
Re: Sessiones en diferentes directorios

Claro, que para ingresar a noticias sea necesario que una sessión llamada "privilegios" (o cualquier nombre) tenga asignado el valor "usuario". Entónces a noticias solo pueden acceder los usuarios cuya sessión "privilegios" ($_SESSION['privilegios']) contenga el valor "usuario" pero estas no pueden acceder al panel de noticias mediante un if.

Crea otro nivel de privilegios llamado "admin" para ingresar al panel de noticias.

El código que debes colocar en el panel de noticias sería este:

Código PHP:
session_start();

if (!isset(
$_SESSION['privilegios']) or $_SESSION['privilegios'] != 'admin') {
header("Location: a donde debe ir si no existe la sesión o no es admin")

Es importante decir que el nivel de privilegios de cada usuario lo mantienes en la BD, ademas de tener en la BD los campos Usuario, Contraseña agrega otro llamado nivel en donde almacenas los privilegios para cada usuario.

Saludos
__________________
Yo hago preguntas inteligentes para obtener respuestas rapidas, y vos?
(únete a la campaña !)
  #8 (permalink)  
Antiguo 23/02/2007, 15:13
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
De acuerdo Re: Sessiones en diferentes directorios

Hola de nuevo.

ginitofl, primero deberás crear una tabla en tu DB de "perfiles" que contenga, el id_perfil, nmbre_perfil.

Teniendo esto, preguntas en un código parecido (yo lo haría con mas restricciones) al que te puso marcosr, si la persona que se está logueando tiene tal perfil, mándelo a tal página o a tal sección, sino tiene ninguno de los perfiles de tu DB, mándelo a una pagina de "Intentando entrar a un sitio restringido".

Espero te sirva, si sigues perdido, vamos que te ayudo.

Saludos.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #9 (permalink)  
Antiguo 23/02/2007, 16:49
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Re: Sessiones en diferentes directorios

ya entendi la idea Carxl y muchas gracias por tu colaboracion. gracias a todos.
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 03:20.