Autentificator
Gestión de Usuarios PHP+Mysql+sesiones

by Pedro Noves V. (Cluster)
clus@hotpop.com

versión actual: v2.01 - 16/10/2002

    Indice:
   

- Descripción del script.
- Historial.
- Licencia.
- Instalación.
- Forma de uso.
- Variables disponibles.
- Descargar.
- Notas del autor.
- Votar el script en Hotscripts.com

   
    Descripción del script:
   

Script para la Gestión de Páginas restringidas solo a Usuarios registrados, con nivel de acceso y gestión de errores en el Login. Ideal para zonas de Administración ó zona "solo usuarios" que requierean autentificación para acceder a las mismas.

Incluye administración de usuarios (altas/bajas/modificaciones) de ejemplo.

Este gestor de usuarios esta programado en lenguaje PHP (optimizado para versiones >= 4.1.x), usa motor de Base de datos Mysql y se basa en el uso de sesiones; los cuales deben estar habilitados en el servidor que se instale.

   
indice
    Historial
   

- v1.0 (17/04/2002)
Versión inicial.
- v1.01 (24/04/2002)
Solucionados pequeños problemas de sintaxis en aut_verifica.inc.php que no afectan el funcionamiento del script. Gracias a Marc Antonsen y Gerardo (ignati) por informar del error.

- v1.05 (17/05/2002)
Optimización del código y solucionado borrar session creada (sin datos, 0 bytes) al salir de autentificator por aut_logout.php e intentar entrar denuevo a la zona de administracion o protegida con el historial (o boton "atras") del navegador en aut_verifica.inc.php. Gracias a Sergio Sánchez (xharck) por informar del error.

- v1.06 (03/06/2002)
Solución de errores de la versión 1.05 y resuelto problema de "pagina no encontrada" en Navegadores Netscape.

- v2.00 (18/08/2002)
Optimización del código a la versión 4.1.x y superiores de PHP. Ahora Autentificator puede funcionar en configuraciones de PHP con registre_globals= OFF. Optimización de la tabla SQL de usuarios (ajustados tipos de datos).
- 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. Gracias a Claudio Horacio por informar del error.
Solucionado error definición nombre de la sessión. Gracias a Suso C. Rguez por avisar del error.

   
indice
    Licencia:
    En su base licencia GPL y mailWare:
- Uselo con el fin que quiera (personal o lucrativo).
- Si encuentras el código de utilidad y lo usa, mandeme un e-mail si lo deseas.
- Si mejora el código o encuentra errores, hagamelo saber al e-mail indicado.
- No me hago responsable de los daños producidos por el mal uso del script o fallos del mismo.
   
indice
    Instalación:
   

- Descomprima el pack autentificator_vXXX.zip y suba los archivos a su servidor.

- Edite el archivo aut_config.inc.php y configure los parámetros que se le solicitan acerca de su Base de dtos. y otros datos.

- Instale la Base de Datos Usuarios (tabla):

- Instalación asistida:
Ejecute aut_instalar.php . Si hay errores en la instalación se le notificaran.

- Instalación manual:
Instale la estructura de datos de la tabla Usuarios aut_usuarios.sql en su servidor Mysql (le recomiendo que edite dicho archivo ya que contiene algunos comentarios de intereres acerca de la instalación). Este archivo contiene un usuario creado de nombre y password mas abajo indicados.
Si lo desea cree su primer usuario Ud. mismo, tan solo tiene que asegurarse de crear el password del usuario usando la función MD5 de encriptación sobre su Mysql.

El usuario creado por defecto es:
Usuario: Admin
Password: admin
Nivel de acceso: 0

- Si usó o no el archivo aut_instalar.php, puede borrarlo de su servidor si lo desea.

- Ya puede registrar más usuarios y borrar el usuario creado por defecto si lo desea, entrando al apartado de gestion de usuarios (gestion_usuarios.php).

   
indice
    Forma de uso:
   

>> Crear un formulario para identificarse en la página(s) (sección) que requieran autentificacón.
El formulario debe conter como minimo:

<!-- Formulario HTML-->
<form
action="pagina_que_requiera_autentificacion.php" method="post">
Usuario: <input type="text" name="user">
Passwor: <input type="password" name="pass">
</form>

Incluir el código siguiente donde quiera presentar los mensajes de error:

<?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]";
}
?>
 

Guarde la página que contenga el formulario y el código para mostrar errores con extension *.php

>> Cada página que requiera autentificación tiene que incluir el archivo aut_verifica.inc.php al principio del mismo:

require ("aut_verifica.inc.php");

A continuación defina las reglas de validación para el nivel de acceso de la página que requiera autentificación. Puede usar este ejemplo; aquí se da acceso a las páginas a Usuarios con nivel inferior al solicitado en $nivel_acceso. Puede "jugar" con los operadores matemáticos =, <, >, etc para diseñar sus propias reglas de validación para las páginas que requieran autentificación:

$nivel_acceso=10;
if ($nivel_acceso
< $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}

>> Salida sergura de la zona privada:

En cualquier momento puede salir manualmente de la(s) página(s) que esten en la zona que requiera autentificación; tan solo tiene que ejecutar el archivo: aut_logout.php, editelo si lo desea para cambiar el mensaje de salida o incluso redireccionarlo a otra página. Para usar la salida manual de la zona privada, puede usar un Link común como el de este ejemplo:

<a href="aut_logout.php">Salir zona restringida</a>

Nota: Si llama a los diferentes archivos que se requieren en directorios diferentes al de la instalacion, debera indicar la ruta (Path) completa donde se instalaron los archivos requeridos.

   
indice
    Variables disponibles:
    >> En las páginas Autentificadas dispondrá de las siguiente variables de sesión:

Variable
Descripción
$_SESSION['usuario_id'] ID (identificador de referencia en la B.D.)
$_SESSION['usuario_login'] Login (nombre)
$_SESSION['usuario_nivel'] Nivel de Acceso autorizado

>> Por si desean acceder directamente a la Base de dtos Usuarios, puede editar el archivo; aut_usuarios.sql, donde encontrará la estructura de la Tabla Usuarios que usa Autentificator.

   
indice
    Descargar:
   

PHP versión 4.1.x o superiores (registre_globals= OFF recomendable .. opcional ON):
autentificator_v201.zip Autentificator (v2.00) - 16 Kbytes aprox.

PHP versión 4.0.6 o superiores (registre_globals= ON necesario):
autentificator_v106.zip
Autentificator (v1.06) - 15 Kbytes aprox.

Archivos
Descripción Función.
- aut_config.inc.php Variables de configuración.
- aut_instalar.php Instalador de la BD (solo tabla de Usuarios).
- aut_usuarios.sql Estructura SQL de la Base de datos (tabla) Usuarios.
- aut_verifica.inc.php Motor control Usuarios autorizados.
- aut_mensaje_error.inc.php Mensajes de error (array).
- aut_logout.php Logout (salida segura de la zona que requiera Autentificación)
- aut_gestion_usuarios.php Motor Gestor de Usuarios (altas/bajas/modificaciones).
- gestion_usuarios.php Formulario Login para entrada Gestor de Usuarios
- index.php Formulario de prueba Login.
- pag1_restringido.php Ejemplo página restringida con Nivel de acceso.
- documentacion.htm Documentación.
Leyenda archivos: Requerido - Prescindible - Demos y documentación
   
indice
    Notas del autor:
   

Los ejemplos no brillan por su diseño espectacular, pero eso son .. ejemplos solo.

El código principal del Gestor de Usuarios esta ampliamente comentado en su interior con fines educativos.

Las reglas de Validación para el Nivel de acceso de las páginas restringidas, se ha optado por dejar el código lo más abierto posible para que Ud. tenga total control sobre el mismo, creando sus propias reglas de validación.

ATENCION usuarios de anterirores versiones:
Notese los nuevos metodos de llamadas a las variables de sesion y la optimización del código para la visualizar los mensajes de error.

   
indice
   
Votar el script en Hotcripts.com
   

Puedes ver este script en uno de los mejores almacenes de codigo fuente en varios lenguajes, entre ellos PHP. Promociona el código en Español!!! y votalo segun tu parecer.

Lo puedes ver en Hotscripts aquí:
http://www.hotscripts.com/Detailed/15291.html

O votalo directamente desde aquí mismo:

Vota este Script
en HotScripts.com