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'] == ""){ Header ("Location: login.php?error_login=6"); exit; }*/ // Chequeamos si se está autentificandose un usuario por medio del formulario if (isset($_POST['user']) && isset($_POST['pass'])) { // Conexión base de datos. // si no se puede conectar a la BD salimos del scrip con error 0 y // redireccionamos a la pagina de error. $db_conexion= mysql_connect("$sql_host", "$sql_usuario", "$sql_pass"); //or die(header ("Location: index.php?error_login=0")); mysql_select_db("$sql_db"); $comp_user=strtolower($_POST['user']); // realizamos la consulta a la BD para chequear datos del Usuario. $usuario_consulta = mysql_query("SELECT id_socio,user,password,nivel_acceso FROM $sql_tabla WHERE user='".$comp_user."'"); //or die(header ("Location: index.php?error_login=1")); // miramos el total de resultado de la consulta (si es distinto de 0 es que existe el usuario) if (mysql_num_rows($usuario_consulta) != 0) { // eliminamos barras invertidas y dobles en sencillas $login = strtolower(stripslashes($_POST['user'])); // encriptamos el password en formato md5 irreversible. $password = md5($_POST['pass']); // almacenamos datos del Usuario en un array para empezar a chequear. $usuario_datos = mysql_fetch_array($usuario_consulta); // liberamos la memoria usada por la consulta, ya que tenemos estos datos en el Array. mysql_free_result($usuario_consulta); // cerramos la Base de dtos. mysql_close($db_conexion); // chequeamos el nombre del usuario otra vez contrastandolo con la BD // esta vez sin barras invertidas, etc ... // si no es correcto, salimos del script con error 4 y redireccionamos a la // página de error. if ($login != $usuario_datos['user']) { //Header ("Location: index.php?error_login=4"); //exit; $error_login=4; } // si el password no es correcto .. // salimos del script con error 3 y redireccinamos hacia la página de error if ($password != $usuario_datos['password']) { //Header ("Location: index.php?error_login=3"); //exit; $error_login=3; } // Paranoia: destruimos las variables login y password usadas unset($login); unset ($password); // En este punto, el usuario ya esta validado. // Grabamos los datos del usuario en una sesion. // le damos un mobre a la sesion. session_name($usuarios_sesion); // incia sessiones session_start(); // Paranoia: decimos al navegador que no "cachee" esta página. session_cache_limiter('nocache,private'); // Asignamos variables de sesión con datos del Usuario para el uso en el // resto de páginas autentificadas. // definimos usuarios_id como IDentificador del usuario en nuestra BD de usuarios $_SESSION['usuario_id']=$usuario_datos['id_socio']; // definimos usuario_nivel con el Nivel de acceso del usuario de nuestra BD de usuarios $_SESSION['usuario_nivel']=$usuario_datos['nivel_acceso']; //definimos usuario_nivel con el Nivel de acceso del usuario de nuestra BD de usuarios $_SESSION['usuario_login']=$usuario_datos['user']; //definimos usuario_password con el password del usuario de la sesión actual (formato md5 encriptado) $_SESSION['usuario_password']=$usuario_datos['password']; // Hacemos una llamada a si mismo (scritp) para que queden disponibles // las variables de session en el array asociado $HTTP_... $pag=$_SERVER['PHP_SELF']; //Header ("Location: index.php"); //exit; } else { // si no esta el nombre de usuario en la BD o el password .. // se devuelve a pagina q lo llamo con error //Header ("Location: index.php?error_login=2"); //exit; $error_login=2; } } else { // -------- Chequear sesión existe ------- // usamos la sesion de nombre definido. session_name($usuarios_sesion); // Iniciamos el uso de sesiones session_start(); // Chequeamos si estan creadas las variables de sesión de identificación del usuario, // El caso mas comun es el de una vez "matado" la sesion se intenta volver hacia atras // con el navegador. if (!isset($_SESSION['usuario_login']) && !isset($_SESSION['usuario_password'])){ if ($_SERVER['HTTP_REFERER'] == ""){ //Header ("Location: index.php?error_login=6"); //exit; $error_login=6; }else{ // Borramos la sesion creada por el inicio de session anterior //Header ("Location: index.php?error_login=6"); //exit; $error_login=6; } } } ?> CPAR, Asociación de Empresarios de la Construcción, Promoción y Afines de La Rioja
 
 
 
 

REVISTA DIGITAL
Recibe la revista del CPAR. Descargar PDF

 
  INFORMACIÓN CPAR
 
 
Tricogeneración
Ir a Fundación Laboral de la Construcción
Ir a Federación de Empresarios de La Rioja
Ir a Confederación Nacional de la Construcción
Ir a Asociación de Promotores Constructores de España
 
  - ASOCIACIÓN
  - ASOCIADOS
  - SERVICIOS
  - LEGISLACIÓN
  - CIRCULARES
  - NOTICIAS
  - REGÍSTRATE
  - ASESORÍA ON-LINE
  - PORTAL INMOBILIARIO
 
CPAR | Hnos. Moroy 8 26001 Logroño (La Rioja) Tfno:941 271 271 Fax: 941 262 537 cpar@cpar.es | Aviso legal | Política de Privacidad