Foros del Web » Programando para Internet » PHP »

Restringir acceso a pagina a trves de sesiones

Estas en el tema de Restringir acceso a pagina a trves de sesiones en el foro de PHP en Foros del Web. Compañeros(as) tengo el siguiente problema desde un index tengo un formulario donde se identifican los usuarios, desde este index se va a un script que ...
  #1 (permalink)  
Antiguo 20/02/2007, 06:11
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Restringir acceso a pagina a trves de sesiones

Compañeros(as)

tengo el siguiente problema desde un index tengo un formulario donde se identifican los usuarios, desde este index se va a un script que procesa esos datos... va a la base de datos verifica datos correctos y crea una sesion y automaticamente re-direcciona al espacio reservado de aquel usuario.

Hasta aca todo bien, el problema esta que cuando yo llego al espacio reservado y copio la direccion que aparece por ejemplo: http://localhost/Control_Acceso/espacio_socio.php?

Que es la direccion original, luego cierro internet y abro nuevamente y pego esta direccion me permite la entrada sin necesidad de auntentificar en la base de datos ni crear las correspondientes sesiones luego de verificar que el usario este en la base de datos.

Para eso yo en la pagina espacio_socio.php tengo las siguientes lineas de codigo:

Código PHP:
//para no tener problemas con cookies deshabilitadas has esto  
//con esto desactivamos las cookies y activamos el metodo get para la sesion  
ini_set("session.use_cookies","1"); 
ini_set("session.use_only_cookies","1"); 
ini_set("session.use_trans_sid","0"); 
session_start(); 
header("Cache-control:private");

if(!isset(
$_SESSION['autentificado_socio']))
{
 
header("Location: index2.php");
 exit;

Estas lineas estab antes que todo no tengo ninguna salida mas, no html ni algun echo.

Ojala puedan ayudarme.
  #2 (permalink)  
Antiguo 20/02/2007, 06:19
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Restringir acceso a pagina a trves de sesiones

Tener que ver que la session estae seteada.

if (isset($_session['autentificado_socio']))
{
tareas a realizar
}else {redirecciona a una pagina donde diga que no tiene permisos para ingresar y luego vaya al index}

saludos
__________________
http://www.rollermountain.com
  #3 (permalink)  
Antiguo 20/02/2007, 06:50
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Restringir acceso a pagina a trves de sesiones

Gracias carlosmbrizuela.

Por tu ayuda pero te cuento que no me ha funcionado te dejo el script completo espacio_socio.php.

Código PHP:
<? 

//para no tener problemas con cookies deshabilitadas has esto  
//con esto desactivamos las cookies y activamos el metodo get para la sesion  
ini_set("session.use_cookies","1"); 
ini_set("session.use_only_cookies","1"); 
ini_set("session.use_trans_sid","0"); 
session_start(); 
header("Cache-control:private");


if (isset(
$_session['autentificado_socio']))

    echo 
"Bienvenido Sr(a) "$_SESSION['NombreSocio'];
}
else
{
    
header("Location: index2.php");
    exit;
}
?>
Gracias por cualquier sugerencia.
  #4 (permalink)  
Antiguo 20/02/2007, 08:54
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Restringir acceso a pagina a trves de sesiones

Este script creo que lo deberias incluir con un include en todas las paginas que desees que se verifique la autenticacion del usuario.
__________________
->Aprender es un proceso que incluye el error..
  #5 (permalink)  
Antiguo 20/02/2007, 09:22
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Restringir acceso a pagina a trves de sesiones

Haber no te entiendo el concepto o a que te refieres, el script que aparece arriba es el espacio del usuario ya autentificado.

A que te refieres con ocupar un include.

include('Que iria aca');

Se supone que los pasos serian que en cada pagina donde se haga necesario la autentificacion deberia llamar a la sesion creada y preguntar si existe, si es asi muestro espacio del usuario bievenida y sus recursos.

Asi yo lo veo logicamente...quizas estoy mal.

Se agradece
  #6 (permalink)  
Antiguo 20/02/2007, 09:50
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Restringir acceso a pagina a trves de sesiones

Dices que el problema es que cuando copias la direccion del espacio reservado sin heberte logueado, puedes acceder cuando en teoria no deberias.
Yo haria lo siguiente, Guardaria este sript como seguridad.php:
Código PHP:
//Inicio la sesion
session_start();  
//compruebo que el usuario este autentificado
header("Cache-control:private"); 
if(
$_SESSION['NombreSocio']==""

 
header("Location: index2.php"); 
 exit; 

Entonces en las otras paginas incluyes este script:
a principio de pagina:
Código PHP:
?>include ('seguridad.php')<?
Si la variable $_SESSION['NombreSocio']; esta vacia quiere decir que el usuario no se ha autenticado, entonces redireccionas a la pagina de loggin. No se si me estoy explicando mal. Saludos.
__________________
->Aprender es un proceso que incluye el error..
  #7 (permalink)  
Antiguo 20/02/2007, 10:08
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Restringir acceso a pagina a trves de sesiones

Juan007 Aca te dejo algo como yo lo tengo, si se puede mejorar, mejor todavia, si esta mal, puede corregirse pero a mi me funciona bien.
Este es el script donde autentico a los usuarios previamente mando el nombre y el password por un formulario desde otra pagina a esta:
Código PHP:
<?//conecto con la base
$iplocal=$_SERVER["HTTP_HOST"];
$conn=mysql_connect("$iplocal","$usuario","$pass");
if(
$conn){//selecciono la base de datos
mysql_select_db("nombre_la_basededatos",$conn);//busco el usuario
$ssql="SELECT * FROM `user` WHERE 1 AND `Host` LIKE '%' AND `User` LIKE '$usuario'";//ejecuto sentencia
$rs=mysql_query($ssql,$conn);//usuario y contraseña validos //defino sesion y guardo datos
session_start();
$autentificado="SI";
session_register("autentificado","usuario","pass");
header("Location: http://".$_SERVER["HTTP_HOST"]."/secretaria/logg/mensajedebienvenida.php");  
}
else{
//si no existe lo mando otra vez al loggin
header("Location: http://".$_SERVER["HTTP_HOST"]."/secretaria/logg/loggin.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
Luego en todas las paginas incluyo esto:
Código PHP:
<?
//Inicio la sesion
session_start();
session_register("autentificado","usuario","pass");
//compruebo que el usuario este autentificado
if($autentificado!="SI"){
//si no existe, va a la pagina de loggin
header("Location: http://".$_SERVER["HTTP_HOST"]."/secretaria/logg/loggin.php");
exit();
}
//salgo del script
exit();
}
?>
Espero haber podido ayudarte. Saludos.
Las variable de usuario y pass son para un uso particular mio.
__________________
->Aprender es un proceso que incluye el error..
  #8 (permalink)  
Antiguo 20/02/2007, 11:10
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Restringir acceso a pagina a trves de sesiones

Cala932

Agradecido por tu disposicion tiempo y ayuda.

Pero ahora no me funciona nada, escribo el nombre de usuario y un pass incorrecto para que no entre al espacio reservado del usuario y de todas fomas entra.

Voy a borrar todo y lo voy hacer nuevamente...nose que habra pasado.

De todas maneras te estoy contando

Mil gracias por la dedicacion.

Juan Pablo G.
  #9 (permalink)  
Antiguo 21/02/2007, 10:58
 
Fecha de Ingreso: marzo-2004
Ubicación: Chile
Mensajes: 382
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Restringir acceso a pagina a trves de sesiones

cala932

Ahora esta funcionando sin tu ayuda y tiempo no hubiera funcionado.

Creoo que tenia mal las variables de sesiones cuando preguntaba si estaba autentificado o no.

Me gustaria saber si, yo antes de direccionar al index nuevamente para obligar al usuario a auntentificarse ¿Podria mandar un mensaje o algo similar para indicarle que debe autentificarse?

Espero haberme explicado bien

Nuevamente gracias
  #10 (permalink)  
Antiguo 23/02/2007, 05:05
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
De acuerdo Re: Restringir acceso a pagina a trves de sesiones

Juan007 podrias hacer otro script, adonde lo direccionas si el usuario no esta autenticado en el mismo le muestras el mensaje que tu deseas, y tambien podrias inluir un link que diga por ejemplo "Ir al formulario de autenticacion". El usuario clickea y vuelve a la pagina del loguin o hacerlo automaticamente despues de unos segundos con un header. Saludos y me alegra haber podido ayudar.
__________________
->Aprender es un proceso que incluye el error..
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.
Tema Cerrado




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