|
Autentificar usuarios en base de datos |
|
|
|
jueves, 03 de agosto de 2006 |
|
Sencillo metodo de autentificacion de usuarios desde una base de datos
Creas una tabla en tu base de datos (para el ejemplo: MySQL) donde tendras 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 paginas 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:
Este tipo de autentificación es via HTTP y funciona bajo PHP instalado como Módulo de Apache y no como CGI
Codigo:
<?
/* 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");?>
Fuente: tutores.org |