Foros del Web » Programando para Internet » PHP »

Sesiones de nuevo ...

Estas en el tema de Sesiones de nuevo ... en el foro de PHP en Foros del Web. Hola: Me he creado un script para las famosas sesiones basandome en el del amigo Cluster (no se que fuese de mi sin el). El ...
  #1 (permalink)  
Antiguo 03/12/2003, 01:19
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Sesiones de nuevo ...

Hola:
Me he creado un script para las famosas sesiones basandome en el del amigo Cluster (no se que fuese de mi sin el). El código es este:
Código PHP:
<?php
 
include("config.php");
 
$conecta mysql_connect($host,$user,$pass) or die ("No puedo conectarme al servidor en estos momentos");
 
mysql_select_db($dbase,$conecta);
 
$encriptada md5($contrasena);
 
$consulta "select * from users where login='".$usuario."' AND tipo=0";
 
$result mysql_query($consulta);
 if (
$row mysql_fetch_array($result)){
  if (
$row['passwd'] == $encriptada) {
   
session_start();
   
$_SESSION['adminlogin'] = $row['login'];
   
$_SESSION['adminpasswd'] = $row['passwd'];
   
$_SESSION['admintype'] = $row['tipo'];
   
header("Location: indexadmin.php");
  }else{
   echo 
"NO estas autorizado a acceder a esta página";
  }
 }
?>
hasta aquí me funciona bien cuando trato de acceder a la página que necesita ser protegida. Pero cuando voy a hacer logout de esa session uso este otro script:
Código PHP:
  session_unset();
 
session_destroy();
 echo 
"Has salido del Sistema de Administración"
este otro también me funciona, pero cuando vuelvo a acceder a la página que requiere proteccion de forma forzada me deja entrar lo que significa que no ha destruido la session. Me ayudan? Qué hago mal?
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 03/12/2003, 01:44
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
A mí el Autentificator me funciona muy bien y no tengo problemas con hacer "atrás"...
recuerda que hay que incluir antes:
require("aut_verifica.inc.php");

Revisa ese archivo. Sobretodo las líneas de session_cache_expire().

Saludos

Última edición por jpinedo; 03/12/2003 a las 20:16
  #3 (permalink)  
Antiguo 03/12/2003, 02:49
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

¿Y cual es el codigo que pones en la pagina protegida? Si es el primero que has puesto, ¿de donde vienen $usuario y $contrasena?

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 03/12/2003, 03:30
 
Fecha de Ingreso: noviembre-2003
Mensajes: 31
Antigüedad: 14 años
Puntos: 0
Hola

¿Has probado con el session_unset() ?

A mi tambien me pasaba lo mismo hasta que lo puse

Saludos
  #5 (permalink)  
Antiguo 03/12/2003, 10:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Es probable que lo que estés viendo sea "la caché" y no la sesión en sí.

Revisa el valor de: (php.ini)
; Document expires after n minutes.
session.cache_expire = 180

(se puede ajustar desde php.ini o por ini_set() e incluso por session_cache_expire() ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 03/12/2003, 21:29
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
En la página protegida ...

En la página protegida lo que pongo es:
Código PHP:
 /*header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");                     // Expira en fecha pasada
  header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");        // Siempre página modificada
  header("Cache-Control: no-cache, must-revalidate");                   // HTTP/1.1
  header("Pragma: no-cache");*/
  
  
session_start();
  if(!isset(
$_SESSION['adminlogin']) && !isset($_SESSION['adminpasswd']) && !isset($_SESSION['admintype'])){
    echo 
"<html><head><title>Error !!!!</title>
          </head>
          <style type='text/css'>
          .style1 {
                font-family: Tahoma;
                font-weight: bold;
                font-size: 10px;
            }
          </style>
          <body background='img/background.jpg'>
            <div align='center'><img src='img/logout.gif' width='19' height=19 align=absmiddle><span class=style1>No tiene derechos suficientes para acceder a esta p&aacute;gina <br> <a href=index.php?modules=adminsite>Volver</a></span>
            </div>
            
          </body>
          </html>"
;
    exit();
  } 
__________________
Ing. Reynier Pérez Mira
  #7 (permalink)  
Antiguo 03/12/2003, 22:20
 
Fecha de Ingreso: diciembre-2003
Ubicación: Cartagena
Mensajes: 15
Antigüedad: 14 años
Puntos: 0
Hola, yo tengo los mismos problemas pero soy nuevo en el foro.

Yo entro en la pagina digitando un usuario y una contrasela la cual es verificada en la base de datos MYsql, hasta alli todo va bien cada usurio tiene previlegios en ciertas paginas pero si e¡ntra un usuarios sin privilegios puede entrara a las otras paginas .

Mejor dicho me pueden ayudar con esto?

Lo otro es como hago para cifrar las contraseñas...
__________________
Bernardo
  #8 (permalink)  
Antiguo 04/12/2003, 06:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
bernardocordoba

Intenta preguntar cada tema por separado .. y mejor en un tema nuevo si no tiene relación -directa- con este tema .. Ademas que en un tema nuevo podrás indicar datos sobre tu configuración personal de PHP para ver que problema puede ser tu caso concreto (y si adjuntas código que uses mejor).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 02:49.