Foros del Web » Programando para Internet » PHP »

Autentificator - Gestión de Usuarios by Cluster

Estas en el tema de Autentificator - Gestión de Usuarios by Cluster en el foro de PHP en Foros del Web. Cita: Iniciado por Cluster Desarrollé autentificator en Windows (dese 98 a XP home/pro) .. nunca tuve ese tipo de problemas. Pero .. antes de decidir ...

  #301 (permalink)  
Antiguo 06/07/2005, 03:20
 
Fecha de Ingreso: junio-2005
Mensajes: 131
Antigüedad: 18 años, 10 meses
Puntos: 0
Cita:
Iniciado por Cluster
Desarrollé autentificator en Windows (dese 98 a XP home/pro) .. nunca tuve ese tipo de problemas. Pero .. antes de decidir o ver si es problema de Autentificator o no .. lo primero es ver que PHP funcione correctamente en tu servidor Windows.

Prueba también con otros navegadores, pero .. en general cuando un script PHP se fuerza su descarga .. es que PHP no está funcionanado en ese servidor o bien podría ser que no se estén interpretando correctamente las cabeceras HTTP que el uso de sesiones (la función session_cache_limiter() envia ciertas cabeceras HTTP) o el redireccionamiento vía header() (con un "Location") podría influir que no se interprete adecuadamente en algún tipo de navegador .. Prueba con otros navegadores y observa que sucede.

Recuerda que Autentificator requiere de propagación del SID en cookies .. así que tu navegador debe aceptar las que la aplicación envia.

Un saludo,
El servidor es del shiranet. Creo que usan windows porque el server tb admite asp.

Como digo el script me funciona bien en local en 3 ordenador con diferentes navegadores y versiones de windows. En el host ya probe con firefox,ie y opera,obteniendo el mismo resultado.No le hecho la culpa al script,ya que si no funcionara o diera errores,tambien los tendria en local.El administrador del host me indico que podia ser que daba conflictos con el host.Tambien lo probe en mi@ y sencillamanete no cargo ninguna pagina php (estando activada la opcion)
  #302 (permalink)  
Antiguo 26/07/2005, 20:42
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
Hola Custer espero que puedas ayudarme en esta: Instalé el autentificador y funciona perfecto, perooo se me planteó una gran duda, al euivocarme en un vínculo entre la sacción de usuarios nivel 1 y poner el vínculo a la misma página pero para usarios nivel 2 vi que entraban igual.
Haber una vez pasado el index.php con nombre de us y pas para nivel 1 si en ese sitio hubiere un vínculo al área supuestamente habilitada para usuario nivel 2 ingresa lo mimo.

nivel 1=
Código PHP:
<?php
require("aut_verifica.inc.php"); // incluir motor de autentificación.
if ($_SESSION['usuario_nivel'] == 3){
header ("Location: index.php?error_login=5");
exit;
}

// etc tu script/página ...
?>
nivel 2=
Código PHP:
<?php
require("aut_verifica.inc.php"); // incluir motor de autentificación.
if ($_SESSION['usuario_nivel'] == 4){
header ("Location: index.php?error_login=5");
exit;
}

// etc tu script/página ...
?>
dde el index si ingresas solo si tienes el pas y us de tu nivel pero ya adentro no, porqué??

saludos
  #303 (permalink)  
Antiguo 27/07/2005, 06:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por mvlsistemas
Hola Custer espero que puedas ayudarme en esta: Instalé el autentificador y funciona perfecto, perooo se me planteó una gran duda, al euivocarme en un vínculo entre la sacción de usuarios nivel 1 y poner el vínculo a la misma página pero para usarios nivel 2 vi que entraban igual.
Haber una vez pasado el index.php con nombre de us y pas para nivel 1 si en ese sitio hubiere un vínculo al área supuestamente habilitada para usuario nivel 2 ingresa lo mimo.

nivel 1=
Código PHP:
<?php
require("aut_verifica.inc.php"); // incluir motor de autentificación.
if ($_SESSION['usuario_nivel'] == 3){
header ("Location: index.php?error_login=5");
exit;
}

// etc tu script/página ...
?>
nivel 2=
Código PHP:
<?php
require("aut_verifica.inc.php"); // incluir motor de autentificación.
if ($_SESSION['usuario_nivel'] == 4){
header ("Location: index.php?error_login=5");
exit;
}

// etc tu script/página ...
?>
dde el index si ingresas solo si tienes el pas y us de tu nivel pero ya adentro no, porqué??

saludos
Y en tu index? .. como filtras o validas el nivel de tu usuario? ...

Tendras que "jugar" con el condicional (if) y el valor de la variable $_SESSION['usuario_nivel']. de hecho puedes usar un echo $_SESSION['usuario_nivel'] para constatar que valor tiene en cada momento esa variable por si hay algo que la esté alterando.

Un saludo,
  #304 (permalink)  
Antiguo 27/07/2005, 06:39
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
la endex la tengo así:

Código PHP:
<?
  
// No almacenar en el cache del navegador esta página.
        
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");                                           // HTTP/1.0

?> 
<html>
<title>&Aacute;rea de Administraci&oacute;n - www.dominio.com.ar</title>
<style type="text/css">
<!--
.botones {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9pt; color: #FFFFFF; background-color: #333333; 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: #FFFFFF; font-family: Verdana, Arial, Helvetica, sans-serif; border: 1pix #000000 solid; border-color: #000000 solid; font-weight: normal}
-->
</style>

<body bgcolor="#FFFFFF">
<table width="734" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#999999">
  <!--DWLayoutTable-->
  <tr> 
    <td width="732" height="57" align="center" bgcolor="#FFFFFF"> 
      <blockquote> 
        <p><font size="2" face="Arial, Helvetica, sans-serif"><a href="codclientes.htm"><font color="#FF6600"><strong>Solicitar 
          c&oacute;digo de acceso</strong></font></a> <font color="#000000"><strong>| 
          </strong></font><font color="#FF3300"><strong><a href="laempresa.htm">Volver 
          </a></strong></font></font></p>
      </blockquote></td>
  </tr>
  <tr> 
    <td height="56" align="center" bgcolor="#FFFFFF"> 
      <div align="justify"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Est&aacute; 
        por ingresar a una secci&oacute;n de acceso restringido. Si ust&eacute;d 
        es un usuario registrado, complete los datos que a continuaci&oacute;n 
        se le solicitan. Si no est&aacute; registrado, puede solicitar c&oacute;digo 
        de acceso <a href="codclientes.htm">desde aqu&iacute;.</a></font></div></td>
  </tr>
  <tr> 
    <td height="265" valign="top" bgcolor="#FFFFFF"><br> <table width="250" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC" bgcolor="#CCCCCC">
        <tr> 
          <td bgcolor="#000000"> <table width=100% border=0 align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
              <form action="redireccionar.php" method="post">
                <tr bgcolor="#FFFFFF"> 
                  <td height="45" colspan="2" bgcolor="#CC3300"> <div align="center"><font face="Arial" color="#FFFFFF" size=2><b>Identificaci&oacute;n 
                      Usuarios<br>
                      <font color="#FFFFFF">www.dominio.com.ar</font></b></font></div></td>
                </tr>
                <tr> 
                  <td colspan="2"> <div align="center"> 
                      <table width="100%" border="0" cellspacing="0" cellpadding="5">
                        <tr valign="middle" bgcolor="#FFFFFF"> 
                          <td height="30" colspan="2"> <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]";
                          }
                         
?>
                            </div></td>
                        </tr>
                        <tr> 
                          <td width="39%" bgcolor="#FFFFFF"> <div align="right"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Usuario 
                              : </font></div></td>
                          <td width="61%" bgcolor="#FFFFFF"> <div align="left"> 
                              <input type="text" name="user" size="15" class="imputbox">
                            </div></td>
                        </tr>
                        <tr> 
                          <td width="39%" bgcolor="#FFFFFF"> <div align="right"><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Password 
                              : </font></div></td>
                          <td width="61%" bgcolor="#FFFFFF"> <div align="left"> 
                              <input type="password" name="pass" size="15" class="imputbox">
                            </div></td>
                        </tr>
                      </table>
                    </div></td>
                </tr>
                <tr valign="middle"> 
                  <td height="50" colspan="2" bgcolor="#FFFFFF"> <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></td>
  </tr>
</table>
</body>
</html>

Última edición por Cluster; 27/07/2005 a las 07:12
  #305 (permalink)  
Antiguo 27/07/2005, 07:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No acabo de entender tu estructura de tu aplicación (páginas que lo componen y flujo de estas: como llegas de una a otras) ..

Tu index no validas al usuario .. como es lógico por qué ahí tienes justamente tu "login" para ingresar a tu sistema.

El código que deberíamos ver sería el de "redireccionar.php" que ese donde supongo que aplicas esos "if()" en función del valor de $_SESSION['usuario_nivel'] redireccionas a una página u otra .. y .. es más, en la página que redireccionas ahí también debes validar que el "usuario_nivel" sea el que corresponda para esa página por si entras "directo" a ella con el mismo IF individual para esa página (o usas un sólo script?)

Un saludo,
  #306 (permalink)  
Antiguo 27/07/2005, 08:28
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
Este es mi redireccionar.php:

Código PHP:
<?php
require("aut_verifica.inc.php"); // incluir motor de autentificación.

switch($_SESSION['usuario_nivel']){
case 
"1":
   
header ("Location: lista_precios_aaa.php");
   exit;
break;
case 
"2":
   
header ("Location: lista_precios_bbb.php");
   exit;
break;
default:
      
header ("Location: $redir?error_login=5");
      exit;
}
?>
Y el autentificador lo necesito usar de la sigiente manera:
Usuarios nivel de acceso 1 y 2.
Cuando ingresas dde el index.php todo bien, te redirecciona según el us y pass perfecto al área 1 o 2. Pero una vez ya en esa área si estoy en el nivel 1 y por error un vínculo me lleva al área 2 pasa sin problemas.
Y me parece que debería darle acceso incorrecto o no.
Yo hice un sector de sitio html abierto para cualquiera, y el mismo sitio en php igual pero dos veces.
A uno le puse a cada página el:
Código PHP:
<?php
require("aut_verifica.inc.php"); // incluir motor de autentificación.
if ($_SESSION['usuario_nivel'] == 3){
header ("Location: index.php?error_login=5");
exit;
}

// etc tu script/página ...
?>
y a las del otro nivel otro nivel:
Código PHP:
<?php
require("aut_verifica.inc.php"); // incluir motor de autentificación.
if ($_SESSION['usuario_nivel'] == 4){
header ("Location: index.php?error_login=5");
exit;
}

// etc tu script/página ...
?>
dde el index.php funciona pero si un us esta en el nivel 1 y si yo hice un vinculo mal ej: ingresando dde el index a una página ofertasaaa.php y después dde ahi puse en vez de marcas.php (nivel1) puse marcas1.php(nivel2) ingresa igual

  #307 (permalink)  
Antiguo 27/07/2005, 12:44
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Funciona en Opera y Mozilla, no en Internet Explorer...

Hola Clus, y el resto: tengo un problema. Apliqué el autetinficator con mucho éxito en www.casasdelabahia.com.ar; resulta que quise hacer lo mismo en www.autosdelabahia.com.ar pero no funciona, me loguea al index2 pero el resto de las páginas -con el require y todo- me dan "acceso incorrecto" desde el Explorer, no así con el Opera y el Mozilla Firefox...¿qué puede ser que esté pasando? Probé desde varias máquinas, borrando las cookies, utilizando distintos usuarios, pero nada. He revisado el código letra por letra, y nada. Y con casasde funciona perfectamente en el explorer, y sólo he copiado y pegado la mayor parte del código de autentificación.
Agradeceré mucho una respuesta.
salu2
  #308 (permalink)  
Antiguo 27/07/2005, 13:05
Avatar de futilidad  
Fecha de Ingreso: julio-2002
Mensajes: 388
Antigüedad: 21 años, 9 meses
Puntos: 0
Felicitaciones

Antes que nada me parece excelente script , de hecho lo estoy canibalizando para poder adaptarlo a un sitio que estoy realizando, en el futuro me gustaria poder colaborar implementando css para una maxima versatilidad del diseño, pero eso sera como que mi trabajo domingero jejejje.

Tengo una duda, en el archivo aut_gestion_usuarios.php ¿no seria mejor remplazar las acciones y sus bloques a incluir con otro tipo de estrucutura de control que no sea IF?:

Esto:
Código PHP:
if ($_GET['accion']=="hacernuevo") {

......
}

if (
$_GET['accion']=="nuevo"
Por
Código PHP:
switch ($accion) {
     case 
nuevo:
     case 
1:
        ......
     break;
     case 
hacernuevo:
        .....
     break;
     default:
         .....
     break;

De este modo solamente se ejecuta el bloque que coincida con la accion, y se "limpiaria" mas el codigo en cuanto quedaria mas claro que estructuras de control se refieren a los bloques y cuales a las acciones internas del bloque. o no se cual sea tu opinion.

Saludos
  #309 (permalink)  
Antiguo 27/07/2005, 15:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mvlsistemas

La validación que haces no es correcta en tus páginas que redireccionas .. tendrías que hacer algo tipo:

Código PHP:
<?php 
require("aut_verifica.inc.php"); // incluir motor de autentificación. 
if ($_SESSION['usuario_nivel'] != 1){ 
header ("Location: index.php?error_login=5"); 
exit; 


// etc tu script/página ... 
?>
(y lo mismo con $_SESSION['usuario_nivel'] != 2)

Es decir .. "si es diferente el nivel de usuario a tal .. entonces .. no puedes ingresar a esa página".

Un saludo,
  #310 (permalink)  
Antiguo 27/07/2005, 15:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por arielcasanova
Hola Clus, y el resto: tengo un problema. Apliqué el autetinficator con mucho éxito en www.casasdelabahia.com.ar; resulta que quise hacer lo mismo en www.autosdelabahia.com.ar pero no funciona, me loguea al index2 pero el resto de las páginas -con el require y todo- me dan "acceso incorrecto" desde el Explorer, no así con el Opera y el Mozilla Firefox...¿qué puede ser que esté pasando? Probé desde varias máquinas, borrando las cookies, utilizando distintos usuarios, pero nada. He revisado el código letra por letra, y nada. Y con casasde funciona perfectamente en el explorer, y sólo he copiado y pegado la mayor parte del código de autentificación.
Agradeceré mucho una respuesta.
salu2
Que error exacto (textual) te dá Autentificator? ... (el "cod.1 o el 2"?)

En general te puedo comentar funciona bajo IE (desde 5.5 por lo menos que yo he probado hasta las 6.x de hoy en día). Eso sí, acepto las cookies que PHP por el uso de propagación del SID bajo estas solicita.

Un saludo,
  #311 (permalink)  
Antiguo 27/07/2005, 15:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por futilidad
Antes que nada me parece excelente script , de hecho lo estoy canibalizando para poder adaptarlo a un sitio que estoy realizando, en el futuro me gustaria poder colaborar implementando css para una maxima versatilidad del diseño, pero eso sera como que mi trabajo domingero jejejje.

Tengo una duda, en el archivo aut_gestion_usuarios.php ¿no seria mejor remplazar las acciones y sus bloques a incluir con otro tipo de estrucutura de control que no sea IF?:

Esto:
Código PHP:
if ($_GET['accion']=="hacernuevo") {

......
}

if (
$_GET['accion']=="nuevo"
Por
Código PHP:
switch ($accion) {
     case 
nuevo:
     case 
1:
        ......
     break;
     case 
hacernuevo:
        .....
     break;
     default:
         .....
     break;

De este modo solamente se ejecuta el bloque que coincida con la accion, y se "limpiaria" mas el codigo en cuanto quedaria mas claro que estructuras de control se refieren a los bloques y cuales a las acciones internas del bloque. o no se cual sea tu opinion.

Saludos
Si, claro .. de hecho esa parte del código es la que menos he tocado desde su creación (allá por el ... no me acuerdo ya ) de hecho su diseño está bastante descuidada, como alguna vez he comentado por aquí creo recordar .. el "objetivo" de autentificator es el "motor" de validación y autentificación (aut_verfifica.inc.php). Ahora (bueno desde hace ya tiempo) tengo el "proyecto Autentificator" un poco abandonado (sólo dóy soporte de cierta manera a los usuarios pero no continuo su desarrollo) ..

Un saludo,
  #312 (permalink)  
Antiguo 27/07/2005, 16:15
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
GRacias 1º por seguir aguantandonós, jaja.
Pero te coemnto clus. dde mi index si creo un usuario x nivel 1 me ingresa a las páginas que tienen:
Código PHP:
<?php
require("aut_verifica.inc.php"); // incluir motor de autentificación.
if ($_SESSION['usuario_nivel'] == 3){
header ("Location: index.php?error_login=5");
exit;
}

// etc tu script/página ...
?>
y las que tienen nivel 2 a las de if ($_SESSION['usuario_nivel'] == 4){

Solo así lo pude hacer funcionar.
Cómo? ni me preguntes jaja
  #313 (permalink)  
Antiguo 28/07/2005, 08:52
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Cita:
Iniciado por Cluster
Que error exacto (textual) te dá Autentificator? ... (el "cod.1 o el 2"?)

En general te puedo comentar funciona bajo IE (desde 5.5 por lo menos que yo he probado hasta las 6.x de hoy en día). Eso sí, acepto las cookies que PHP por el uso de propagación del SID bajo estas solicita.

Un saludo,
Cluster:
1º Gracias por la pronta respuesta. El error que arroja es "Error cod.:1 - Acceso incorrecto!". Es la versión 6.0 del Explorer, bajo win xp con SP2... yo no he modioficado nada de los seteos del mismo para aceptar o no cookies, ni tengo ningún cortafuego, es la configuración por defecto, que uso para probar todas las webs que realizo para estar seguro de que los usuarios podrán accesarlas sin problema. Insisto en recordarte que el mismo script funciona perfectamente en www.casasdelabahia.com.ar... ¿Ayudaría en algo que te pase el código de alguno de los archivos? Se me ocurre preguntar ahora, ¿por dónde se pasa la variable de usuario_id? ¿está en el include? porque ingreso usuario y pass, y me parece la página llamada index2 con un listado de los vehículos correspondientes, con un acceso que lleva a "editar" o "borrar" los registros pasando la Id de los mismos -cosa que también funciona- pero las otras opciones del menú, que llevan a distintos archivos con el include al principio, me dan ese error. Creo que se puede estar pasando mal la variable o puede no estar pasándose, pero no estoy seguro.

Última edición por arielcasanova; 04/08/2005 a las 06:31 Razón: descubrí el error
  #314 (permalink)  
Antiguo 04/08/2005, 06:32
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
DESCUBRÍ EL ERROR: A todas las páginas, les agregué un código de js, que me lo genera el "allwebmenus", un programita para hacer lindos menus desplegables que conseguí hace poco y no había usado nunca. Evidentemente su código -no sé cómo- interfiere con el paso de variables bajo internet explorer, ya que al elminar el código de todas las páginas, el sistema funciona perfectamente.... es para tenerlo presente.
saludos, y gracias a todos por su colaboración.
  #315 (permalink)  
Antiguo 04/08/2005, 07:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ok, en ese caso puede ser que tu sistema Javascript (DHMTL?) de menús genere redireccionamientos vía javascript (valga la rebundancia) donde se abre ventanas? .. en ese caso el "HTTP_REFERER" (de qué página vienes) no es entregado por tu navegador al servidor HTTP y en consecuencia para PHP no queda disponible ese valor que se valida y verifica en aut_verifica.inc.php (bajo el condicional del $_SERVER['HTTP_REFERER'] que ahí veras).

Puedes prescindir completamente de esa porción de código dejando fijo $redir al URL (valor) que tengas tu formulario de login (en ese caso será y tendrá que ser una página sólo).. dicha validación no afecta para nada a la seguridad de tus aplicaciones sólo se usa para aportar la funcionalidad de poder usar múltiples formularios de login (páginas que lo contengan) apuntando al mismo script de validación y también una forma rápida de salir de la aplicación si se accede directo un script .. aunque igualmente siempre se valida la existencia de las variables de sesión del sistema en sí.

Un saludo,
  #316 (permalink)  
Antiguo 20/08/2005, 17:36
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
Hola Cluster, necesito de tú ayuda una vez más. Mirá lo instelé y funciona ok, pero si utilizo para volver atrás con el navegador tanto ie como firefox, me permite volver tantas veces como sea hacia afuera y adentro del área restringida. ej pagina a llamá al index.php cargu us y pas e ingreso al área restringida pero si dde el navegador vuelco a pag. a y así a área restringida en ningún momento me bloquea mostrando "Error cod.:1 - Acceso incorrecto!!" , que hice mal? y de nuevo te comento lo de mi post anterior, con respecto a los niveles 1 y 2. Gracias.
  #317 (permalink)  
Antiguo 21/08/2005, 09:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No entendí el proceso que haces mvlsistemas .. te comento sólo que el error "cod.1" sólo aparece si no se detecta un "HTTP_REFERER" .. es decir que no viene desde una página autentificada, por ejemplo cuando uno pretende entrar directo a una de tus páginas autentificadas .. se origina ese error primero y si ese pasa, el "cod.2" referente a la existencia de las variables de sesión.

Un saludo,
  #318 (permalink)  
Antiguo 21/08/2005, 10:31
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
perdón, no me expliqué correctamente.
Hber, si estoy en una página xxx.htm con un vínculo a la index.php que es la del formu para ingresar a una página.php con acceso restringido que tiene antes del head:
Código PHP:
<?php
require("aut_verifica.inc.php"); // incluir motor de autentificación.
if ($_SESSION['usuario_nivel'] == 4){
header ("Location: index.php?error_login=5");
exit;
}

// etc tu script/página ...
?>
si? bueno ingresas el us y pass e ingresa sin problemas, pero al volver con el navegador hacia atrás hasta la xxx.htm y de nuevo con el navegador hasta la pagina.php pasando por la index.php ¿siempre desde el navegador sale e ingresa sin problemas.
Debería simplemente al volver atrás y querér ingresar de nuevo pedirte el us y pass o no. esa es mi duda cluster, como hacer para que también te pida el pass y us al salir o volver atrás con las <> del navegador.


ahh y nunca me cansaré de decirte gracias, por esta y todas tus respuestas
  #319 (permalink)  
Antiguo 22/08/2005, 07:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por mvlsistemas
perdón, no me expliqué correctamente.
Hber, si estoy en una página xxx.htm con un vínculo a la index.php que es la del formu para ingresar a una página.php con acceso restringido que tiene antes del head:
Código PHP:
<?php
require("aut_verifica.inc.php"); // incluir motor de autentificación.
if ($_SESSION['usuario_nivel'] == 4){
header ("Location: index.php?error_login=5");
exit;
}

// etc tu script/página ...
?>
si? bueno ingresas el us y pass e ingresa sin problemas, pero al volver con el navegador hacia atrás hasta la xxx.htm y de nuevo con el navegador hasta la pagina.php pasando por la index.php ¿siempre desde el navegador sale e ingresa sin problemas.
Debería simplemente al volver atrás y querér ingresar de nuevo pedirte el us y pass o no. esa es mi duda cluster, como hacer para que también te pida el pass y us al salir o volver atrás con las <> del navegador.


ahh y nunca me cansaré de decirte gracias, por esta y todas tus respuestas
Bueno .. ese proceso que haces es normal que te pase la autentificación por qué ya tienes creada la sesión y propagas el SID en cookies.

Si "matas" tu sesión (saliendo de tu sistema por el "logout.php") la sesión ya no existirá si vas hacia atras.

Teóricamente si cierras tu navegador y pretendes acceder nuevamente por tu historial no te dejará entrar al sistema.

Autentificator por su filosofía de "script compacto" de autentificación NO mata cualquier sesión activa al entrar a tu "index.php" o página autentificada .. justamente por qué si implementas un sistema así, no podrías por ejemplo recargar la página como suele pasar en muchos procesos. Ahí deberías modificar (o mejor dicho hacer tu própio sistema en base a lo que puedas haber aprendido sobre sesiones con este script) para .. por lo menos, si llego por el historial de tu navegador o directo a tu "index.php" ... mate toda sesión activa y regenere un nuevo SID.

El sistema "Autentificator" no controla tiempos de expiración para tu sesión, más bien deja a la configuración de PHP que esta lo haga. Debes revisar que tiempos de expiración usas para la cookie que PHP crea al generar tu sesión para propagar el SID .. pero igualmente en esas condiciones si vas "hacia atras" sin cerrar tu navegador al propagar el SID en cookies siempre vas a tener tu sesión activa por el tiempo que defina: session.gc_maxlifetime que define el tiempo de duración de una sesión (nomalmente 1440 segundos) en combinación (si se propaga el SID en cookies) con session.cookie_lifetime (normalmente a 0 segundos)

Revisa la documentación sobre sesiones de PHP:
http://www.php.net/session

Un saludo,
  #320 (permalink)  
Antiguo 18/11/2005, 08:45
Usuario no validado
 
Fecha de Ingreso: agosto-2004
Mensajes: 74
Antigüedad: 19 años, 8 meses
Puntos: 0
redireccionar segun nivel de usuario

Mi intencion es conseguir que en funcion de del nivel de usuario asignado, lo redireccione a una pagina en concreto.

para eso he llamado a una pagina que he llamado envia.php que se llama desde el formulario de identificacion, pero no me funciona

envia.php

<?php
require("aut_verifica.inc.php");
if ($_SESSION['usuario_nivel'] == 1){
header ("Location: administracion.php");
}
elseif ($_SESSION['usuario_nivel'] == 2){
header ("Location: telemarketing.php");
}
elseif ($_SESSION['usuario_nivel'] == 3){
header ("Location: comercial.php");
}
?>

Como deberia de hacerlo? que es lo que falla?

gracias anticipadas
  #321 (permalink)  
Antiguo 18/11/2005, 08:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por tamahome
Mi intencion es conseguir que en funcion de del nivel de usuario asignado, lo redireccione a una pagina en concreto.

para eso he llamado a una pagina que he llamado envia.php que se llama desde el formulario de identificacion, pero no me funciona

envia.php

<?php
require("aut_verifica.inc.php");
if ($_SESSION['usuario_nivel'] == 1){
header ("Location: administracion.php");
}
elseif ($_SESSION['usuario_nivel'] == 2){
header ("Location: telemarketing.php");
}
elseif ($_SESSION['usuario_nivel'] == 3){
header ("Location: comercial.php");
}
?>

Como deberia de hacerlo? que es lo que falla?

gracias anticipadas
No sentencias if() .. else .. , usa mejor la sentencia:

switch()
www.php.net/switch

Cada vez que hagas un header ("Location ..."), termina con un exit; la ejecución de tu script en ese punto.

Pruebalo y nos comentas ..

Un saludo,
  #322 (permalink)  
Antiguo 19/11/2005, 05:31
Usuario no validado
 
Fecha de Ingreso: agosto-2004
Mensajes: 74
Antigüedad: 19 años, 8 meses
Puntos: 0
Muchas gracias Cluster, con switch() me funciona perfecto!!
<?
require("aut_verifica.inc.php");
switch ($_SESSION['usuario_nivel']) {
case "0":
header ("Location: pag1.php");
exit;
break;
case "1":
header ("Location: pag2.php");
exit;
break;
case "2":
header ("Location: pag3.php");
exit;
break;
default:
header ("Location: $redir?error_login=5");
exit;
}
?>

Un saludo y Felicidades por tu Trabajo, Gracias por tu tiempo de dedicacion a ayudarnos a solventar nuestras dudas
  #323 (permalink)  
Antiguo 27/11/2005, 01:05
 
Fecha de Ingreso: noviembre-2005
Mensajes: 55
Antigüedad: 18 años, 4 meses
Puntos: 0
De acuerdo Undefined index.

Autentificator v2.01.

En la página 6 de las 11 que componen este tema hay dos usuarios que tienen el siguiente problema:

el 15/10/04 "maurimono" escribió :

" pero me sigue saliendo este error cuando pincho "Gestionar usuarios" :
Notice: Undefined index: accion in c:\archivos de programa\easyphp1-7\www\algo_ nuevo\aut_gestion_usuarios.php on line 192
Notice: Undefined index: accion in c:\archivos de programa\easyphp1-7\www\algo_ nuevo\aut_gestion_usuarios.php on line 210
Notice: Undefined index: accion in c:\archivos de programa\easyphp1-7\www\algo_ nuevo\aut_gestion_usuarios.php on line 272

El caso es que a mí me sucede lo mismo, Cluster ha respondido con su habitual paciencia para los que (como yo) recién empezamos con todo esto, y dió una solución al respecto ( lamentablemente mi poco conocimiento de este tema me impide hacer lo que recomienda )

Yo no modifiqué nada en el código, salvo las configuraciones que se indican:

"aut_config.inc.php" : con los datos necesarios,

"aut_instalar.php" : le puse la tabla como TYPE=INNODB porque MyISAM no funciona en mi maquina para ningun script ( no solo para este, obviamente no tengo ni idea del motivo )

Bueno, van la preguntas :

El sistema me funciona PERFECTAMENTE y me parece genial, pero como salen esos mensajes : "Notice: Undefined index: accion in..." no sé si algo interno está fallando ( ya que los datos se generan, modifican y borran sin problemas )

Este error implica que algo está generándose mal ??

Esto nos pasa sólo a algunos, o les sucede a TODOS los que usan el script original sin modificar nada ?

Si no les pasa a todos, qué es lo que produce que este error se muestre sólo en algunos casos ?

Por último humildemente solicito el código necesario lo más claro posible usando la variable isset(), que es la que supuestamente resuelve esto, pero no sé como se arma, ni en que línea colocarlo.

En realidad, me gustaría que esto funcione sin modificar nada con isset(), ya que he leído varias respuestas ( en realidad leí todas) y hay muchos que lo probaron y NO REPORTAN ESTE ERROR, sino que dicen que les funciona perfectamente.

No sé si es importante, pero esto me sucede utilizando los 11 programas que componen el sistema, no hice ninguna página en la cual podría incluír el código.

Gracias por todo y a Cluster le deseo lo mejor por la ayuda que otorga a quienes necesitamos este sistema.
  #324 (permalink)  
Antiguo 27/11/2005, 19:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En realidad, me gustaría que esto funcione sin modificar nada con isset(), ya que he leído varias respuestas ( en realidad leí todas) y hay muchos que lo probaron y NO REPORTAN ESTE ERROR, sino que dicen que les funciona perfectamente.

Entonces edita tu php.ini .. busca la directiva:
error_reporting = E_ALL & ~E_NOTICE

que lo más seguro que la tengas así (el "E_NOTICE" según esa estructura indica que se van a notificar algunos problemas de "mala programación" como el que ya conoces que se debería resolver con isset())

lo cambias a:
error_reporting = E_ALL

Así reportará PHP todo error menos "avisos" como los mencionados.

Si no tienes acceso a tu php.ini (caso de usar un servicio de hosting por ejemplo) usa la función:

error_reporting(E_ALL);

al principio de tus scripts.

Un saludo,

PD: cada cambio en tu php.ini recuerda reiniciar tu servidor.
  #325 (permalink)  
Antiguo 28/11/2005, 01:15
 
Fecha de Ingreso: noviembre-2005
Mensajes: 55
Antigüedad: 18 años, 4 meses
Puntos: 0
Undefined index (2)

Estimado Cluster:

Mil gracias por tu respuesta, pero me he quedado algo intranquilo al respecto, ya que no quisiera trabajar "tapando errores", si bien me has respondido en forma excelente de acuerdo a lo que yo te solicité para no modificar el código ( sé que lo correcto es usar la variable isset(), y seguramente aprenderé a usarla si es que quiero hacer esto con seriedad )

Es verdad : mi PHP.INI dice : error_reporting = E_ALL & ~E_NOTICE

Por eso te molesto nuevamente :

1) Si el sistema de altas bajas y cambios funciona correctamente, este error "Notice: Undefined index" implica que algo está generándose mal internamente, o aunque intentes "acceder a una variable externa sin verificar si existe" todo funciona bien igual ?

2) Si efectúo la modificación que me indicas: en otras paginas creadas por mí, es posible que por evitar esos mensajes yo no sepa donde se producen los errores ?? o sólo son avisos de carácter informativo cuyo significado no impide que los procesos se ejecuten normalmente ??

Disculpa mi insistencia, pero como te darás cuenta por mi nivel de conocimiento de PHP no puedo determinar hasta donde me conviene hacer "invisibles" esos mensajes.

Nuevamente gracias por todo.
  #326 (permalink)  
Antiguo 28/11/2005, 05:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
1) Un mensaje de PHP tipo "Notice" sólo es un "aviso" de algo .. Algo no "correcto" programado como el caso de pretender acceder al valor de una variable que no está definida (como es el caso del primer inicio del gestor de usuarios de Autentificator antes de cualquier "acción" de crear usuario y demás ). En otras ocasiones son "avisos" tipo: "PHP tiene previsto cambiar cierta función para eliminarla en próximas versiones .. de momento va avisando de este hecho" (por qué no todos estamos atentos al manual oficial de PHP y sus noticias).

2) Sólo son "avisos" como te he comentado. PHP gestiona 3 tipos de mensajes: de "notice" (aviso), "Warning" y "fatal" .. estos dos últimos mensajes son graves, PHP detiene la ejecución del script si se produce y si está activo el reporte de errores (error_display en conjunto con error_reporting) suelen mostrar información "confidencial" tipo rutas de archivos completas .. que en fase de desarrollo las usas para justamente localizar exactamente donde se produce el problema, pero en fase de "producción" mensajes de ese tipo no te combiene ir mostrando si se producen (por desvelar rutas hacia tus archivos de tu aplicación entre otros).

Un saludo,
  #327 (permalink)  
Antiguo 28/11/2005, 13:36
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
ayuda con autentificator

me parece excelente lo utilice y me funciona perfectamente pero quiero que me ayudes con algo:

tengo una pagina de registro de usuarios, me podrias ayudar con un script que me guarde los usuarios y contraseñas con md5 en mysql???? para no tener que meterlos por la pagina de geestion de usuarios... osea que se ingrese automaticamente a la tabla usuarios con md5....

y lo otro es lo del nivel, me lo podrias explicar mejor ????
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #328 (permalink)  
Antiguo 28/11/2005, 13:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Estudia el segmento de código de aut_gestion_usuarios.php donde se crea el usuario. Toma nota del uso de MD5() que se hace ahí. Casi copiando y pegando lo tienes listo.

El tema del "nivel" del usuario, si vas a dejar que tus usuarios se creen ellos mismo, define un nivel 1 o superior para el usuario por defecto (siendo "0" un Administrador).

Un saludo,
  #329 (permalink)  
Antiguo 29/11/2005, 13:03
 
Fecha de Ingreso: septiembre-2003
Mensajes: 12
Antigüedad: 20 años, 7 meses
Puntos: 0
En primer lugar felicitarte por el autentificador, el cual está "muy currado" sobre todo para alguien como yo que está empezando en esto del php y no tiene ni pajolera idea.
En segundo lugar querría pedir un favor muuuuuy grande y es que me gustaría saber (vuelvo a repetir que no tengo ni idea de php) como hacer para que los usuarios puedan registrarse ellos solos y no tener que hacerlo un admin. Imagino que resulte que se piense que tenga mucha cara, es lógico, pero es que tengo una web en html terminada completamente y ahora el cliente quiere una parte restringida para una serie de usuarios. Espero ir aprendiendo poco a poco esto del php pero ahora necesito urgentemente este favor.
Gracias y un saludo
  #330 (permalink)  
Antiguo 29/11/2005, 13:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ya hice mi comentario al respecto de como pueden hacerlo. Si Uds. ponen algo de su parte ... por mi parte les puedo colaborar en problemas -puntuales-.

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.
Tema Cerrado

SíEste tema le ha gustado a 10 personas




La zona horaria es GMT -6. Ahora son las 14:45.