Inicio > MySQL, PHP, Tutoriales > PHP: Autentificar usuarios en base de datos

PHP: Autentificar usuarios en base de datos

Puedes hacer lo siguiente:

  • Creas una tabla en tu base de datos (para el ejemplo: MySQL) donde tendrás al menos el nombre de usuario (usr_login ) y su contraseña (usr_pass ).
  • es una buena práctica que pongas la conexión a la base de datos en un módulo aparte que sea llamado desde todas las páginas que usan la base de datos (en el ejemplo me conecto directamente)
  • crea un módulo (yo lo llamo seguridad.php ) y coloca el siguiente código en él:
<?
/* Autenticación
*/
  $muerte = 'Acceso Denegado!!!!  :-p';
 
  if(!isset($PHP_AUTH_USER)) {
    header('WWW-Authenticate: Basic realm="Nombre del Site"');
    header('HTTP/1.0 401 Unauthorized');
    echo $muerte;
    exit;
  } else {
    // valido mi clave en el servidor ...
    if (@$db_link = mysql_connect("localhost", "usuario", "clave")) {
        @mysql_select_db("base_de_datos");
    }
 
    $sql = "select * from usuarios
                where ((usr_login = '$PHP_AUTH_USER')
                     and (usr_pass = '$PHP_AUTH_PW')) ";
 
    $qpass= mysql_query($sql, $db_link);
    if(mysql_num_rows($qpass)<>1)  {
      echo $muerte;
      exit;
    }
 
  }
?>

Ahora al principio de cada una de tus páginas que necesite autenticar al usuario colocarás

<? include("seguridad.php");?>
  • Para terminar te recuerdo que queda en tus manos el mejorar el código, por ejemplo puedes validar un límite de intentos fallidos, registrar fecha y hora de acceso del usuario así como las páginas “autenticadas” que ha visitado. También puedes darle más seguridad al código validando errores en el SQL, y muchos etcés …

Nota: Este tipo de autentificación es vía HTTP y funciona bajo PHP instalado como Módulo de Apache y no como CGI

Fuente: http://www.forosdelweb.com/wiki/PHP:Autentificar_usuarios_en_base_de_datos

Categorías:MySQL, PHP, Tutoriales Etiquetas: , ,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: