Foros del Web » Programando para Internet » PHP »

Para Cluster - Autentificar usuarios Sesiones

Estas en el tema de Para Cluster - Autentificar usuarios Sesiones en el foro de PHP en Foros del Web. Hola Cluster estoy usando tu script de autentificacion de usuarios. Mi pregunta es por que no me recuerda cada vez que introduzco la contraseña, es ...
  #1 (permalink)  
Antiguo 11/09/2004, 06:39
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
Para Cluster - Autentificar usuarios Sesiones

Hola Cluster estoy usando tu script de autentificacion de usuarios.
Mi pregunta es por que no me recuerda cada vez que introduzco la contraseña, es decir yo he puesto lo siguiente en cada pagina protegida:

$pageproteg="../panel/panelcontrol.php";
require ("../aut_verifica.inc.php");
$module_name = basename(dirname(__FILE__));
$nivel_acceso=10;
if ($nivel_acceso < $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}

donde $pageproteg es el nombre de la pagina ya que he incluido el formulario en aut_verifica.inc.php y le indico en el form ñlo siguiente:

<form action=\"$pageproteg\" method=\"post\">

para que me enie a la pagina donde se intentava acceder.

Y mi problema es que si entro en una pagina protegida y luego me meto por ejemplo en index.php si intento volver a acceder al panel de control ya no me reconoce y me vuelve a pedir mi contraseña.

¿Que es lo que estoy haciendo mal?

Un Saludo y muchas Gracias.

PD: Tu scrips es genial

Última edición por Taurus427; 11/09/2004 a las 08:47
  #2 (permalink)  
Antiguo 11/09/2004, 09:57
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
Ahora me doy cuenta que introducioendo cualquier cosa el script me envia a la pagina protegida sin ningun problema vamos que seria lo mismo no tenerla protegida. No se si se debe a que pongo algo mal o que pero esto siogue sin ir.

Te dejo aqui el archivo aut_verifica.inc.php para que veas los cambios:

Código PHP:
<?
//  Autentificator
//  Gestión de Usuarios PHP+Mysql+sesiones
//  by Pedro Noves V. (Cluster)
//  [email][email protected][/email]
//  v1.0  - 17/04/2002 Versión inicial.
//  v1.01 - 24/04/2002 Solucionado error sintactico en aut_verifica.inc.php.
//  v1.05 - 17/05/2002 Optimización código aut_verifia.inc.php
//  v1.06 - 03/06/2002 Corrección de errores de la versión 1.05 y error con navegadores Netscape
//  v2.00 - 18/08/2002 Optimización código + Seguridad.
//                     Ahora funciona con la directiva registre_globals= OFF. (PHP > 4.1.x)
//                     Optimización Tablas SQL. (rangos de tipos).
//  v2.01 - 16/10/2002 Solucionado "despistes" de la versión 2.00 de Autentificator
//                     en aut_verifica.inc.php y aut_gestion_usuarios.php que ocasinavan errores al trabajar
//                     con la directiva registre_globals= OFF.
//                     Solucionado error definición nombre de la sessión.
//
// Descripción:
// Gestión de Páginas restringidas a Usuarios, con nivel de acceso
// y gestión de errores en el Login
// + administración de usuarios (altas/bajas/modificaciones)
//
// Licencia GPL con estas extensiones:
// - Uselo con el fin que quiera (personal o lucrativo).
// - Si encuentra el código de utilidad y lo usas, mandeme un mail si lo desea.
// - Si mejora el código o encuentra errores, hagamelo saber el mail indicado.
//
// Instalación y uso del Gestor de usuarios en:
// documentacion.htm
//  ----------------------------------------------------------------------------


// Motor autentificación usuarios.

// Cargar datos conexion y otras variables.
require ("aut_config.inc.php");


// chequear página que lo llama para devolver errores a dicha página.

$url explode("?",$_SERVER['HTTP_REFERER']);
$pag_referida=$url[0];
$redir=$pag_referida;
// chequear si se llama directo al script.
if ($_SERVER['HTTP_REFERER'] == ""){
echo
"
<html>
<title>&Aacute;rea de Administraci&oacute;n - www.tupagina.tal</title>
<style type=\"text/css\">
<!--
.botones {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9pt; color: #FFFFFF; background-color: #0099FF; border-color: #000000 ; border-top-width: 1pix; border-right-width: 1pix; border-bottom-width: 1pix; border-left-width: 1pix}
.imputbox {  font-size: 10pt; color: #000099; background-color: #CCFFCC; font-family: Verdana, Arial, Helvetica, sans-serif; border: 1pix #000000 solid; border-color: #000000 solid; font-weight: normal}
-->
</style>

<body bgcolor=\"#FFFFFF\">
<span class=\"botones\"></span><span class=\"imputbox\"></span>
<br><br><br>
<table width=\"250\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\" bordercolor=\"#0099FF\">
  <tr>
    <td>
      <table width=100% border=0 align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#009999\" bgcolor=\"#CCFFCC\">
        <form action=\"$pageprote\" method=\"post\">
          <tr bgcolor=\"#0099FF\"> 
            <td colspan=\"2\" height=\"45\"> 
              <div align=\"center\"><font face=\"Arial\" color=\"#FFFFFF\" size=2><b>Identificaci&oacute;n
                Usuarios<br><font color=\"#FFFF00\">www.tupagina.tal</b></font></div>
            </td>
  </tr>
          <tr> 
            <td colspan=\"2\"> 
              <div align=\"center\"> 
                <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"5\">
                  <tr valign=\"middle\"> 
                    <td colspan=\"2\" height=\"30\"> 
                      <div align=\"center\">"
;
?>
                         <?
                          
// Mostrar error de Autentificación.
                          
include ("aut_mensaje_error.inc.php");
                          if (isset(
$_GET['error_login'])){
                              
$error=$_GET['error_login'];
                          echo 
"<font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#FF0000'>Error: $error_login_ms[$error]";
                          }
                         
?>
                        <? 
                   
echo"</div>
                    </td>
                  </tr>
                  <tr> 
                    <td width=\"39%\"> 
                      <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Usuario 
                        : </font></div>
                    </td>
                    <td width=\"61%\"> 
                      <div align=\"left\"> 
                        <input type=\"text\" name=\"user\" size=\"15\" class=\"imputbox\">
                      </div>
                    </td>
                  </tr>
                  <tr> 
                    <td width=\"39%\"> 
                      <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Password 
                        : </font></div>
                    </td>
                    <td width=\"61%\"> 
                      <div align=\"left\"> 
                        <input type=\"password\" name=\"pass\" size=\"15\" class=\"imputbox\">
                      </div>
                    </td>
                  </tr>
                </table>
              </div>
            </td>
          </tr>
          <tr valign=\"middle\"> 
            <td colspan=\"2\" height=\"50\"> 
              <div align=\"center\"><font face=\"Arial\" color=black size=2> 
                <input name=submit type=submit value=\"  Entrar  \" class=\"botones\">
                </font></div>
            </td>
          </tr>
        </form>
      </table>
    </td>
  </tr>
</table>
</body>
</html>

"
;


die (
"Error cod.:1 - Acceso incorrecto!");
exit;
}


.....
y esto es lo que incluyo en laqs paginas ocn proteccion:

Código PHP:
<?php

$pageprote
="panelcontrol.php";
require (
"../aut_verifica.inc.php");
// Mostrar error de Autentificación.
include ("../aut_mensaje_error.inc.php");
if (isset(
$_GET['error_login'])){
$error=$_GET['error_login']; 
echo 
"Error: $error_login_ms[$error]";

$nivel_acceso=10;
if (
$nivel_acceso $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}
No se a que se debe, ni me recuerda la sesion cuando estoy bien logeado y cuando pongo el password mal me sale el error de autentificacion pero denajo me sale el contenido de la página.

Yo lo que intento es hacer un formulario generico para todas la pagins incluyendo en el formulario el nombre de la pagina mediante la variable $pageprote

Pero no consigo hacerlo funcionar. No me da ningun error solo que no me recuerda la secion y cuando me equivoco de ocntraseña me sale de nuevo la pagina con el error pero me muestra su contenido.

Espero Cluster o algiuno que haya usado este script me pueda ayudar ya que es bastante bueno.

Un Saludo
  #3 (permalink)  
Antiguo 11/09/2004, 10:22
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
Ya solucione el problema que tenia cuando al poner un login y passsword incorrectos accedia a la pagina de todos modos.

Ahora solo me queda intentar que la secion de propague a todas las paginas para evitar tener uqe introducir la contraseña cada vez que sale de una pagina protegida:

ejemplo:
Si entro en pagina1.php que esta protegida no hay problemas introdusco el codigo y todo bien, luego si salgo de esa pagina y entro en index.php que no esta protegida la web se muestra correctamente sin problemas, pero si vuelvo a pagina1.php me vuelve a pedir la contraseña.

Espero me puedan ayuda.

UN Saludo a todos y gracias
  #4 (permalink)  
Antiguo 11/09/2004, 11:42
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
Ahora me doy cuenta que si introduzco el codigo en el formulario y luego salgo me vuelve a salir el fomrulario pero luego si no introudzco nada y le doy a enviar me sale la pagina normal como si me aceptara no introducir nada. Eso quedra decir que me recuerda el usuario pero hay algo que me enavia al mensaje de error 2 cuando hago esto.

a ver si alguno sabe el por que de esto.
  #5 (permalink)  
Antiguo 11/09/2004, 15:05
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
Ya solucione todos los problemas. Per aparecio uno nuevo si cierro la ventana del explorador y entro en la pgina no me recuerda. ¿Me falta algun codigo?

UN Saludo y Gracias
  #6 (permalink)  
Antiguo 12/09/2004, 09:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Taurus427
Ya solucione todos los problemas. Per aparecio uno nuevo si cierro la ventana del explorador y entro en la pgina no me recuerda. ¿Me falta algun codigo?

UN Saludo y Gracias
Autentificator usa sesiones .. no cookies para autentificar/validar/seguir a tu usuario en tu sitio .. Así que es normal que cuando abandones el sitio (salgas por el logout o cierres toda ventana del sitio) .. no te vuelva a reconocer el sistema (insisto que no usa cookies).

Si te interesa esa funcionalidad deberías usar en lugar de sesiones -> cookies o un hibrido entre sesiones y cookies. Pero no sólo sesiones.

Un saludo,
  #7 (permalink)  
Antiguo 12/09/2004, 11:59
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
OK entonces la sesion se elimina al tiempo. Es decir los archivos que se crean en el servidor luego se borran automaticamente no?

UN saludo y gracias.
  #8 (permalink)  
Antiguo 12/09/2004, 12:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Mas o menos es así .. (todo depende de configuración de php).

Podrías usar propagación del SID en cookies con tiempo de expiración alto y session.gc_maxtimelife (php.ini o configurador por ini_set()) a igual tiempo para "simular" el efecto que pretendes de duración de una sesión por más tiempo del que estás en tu sitio moviendote entre las páginas del mismo .. Pero, lo "normal" para usar sesiones es definir que la sesión expire al cerrar la última ventana de tu sitio abierto; esa es su filosofía de "seguridad".

Un saludo,
  #9 (permalink)  
Antiguo 12/09/2004, 12:26
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 14 años, 3 meses
Puntos: 0
OK me quedo todo claro. Muchisimas Gracias por aclararmelo.

Un Saludo
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 10:45.