Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/04/2004, 08:39
San TATO
 
Fecha de Ingreso: febrero-2004
Mensajes: 64
Antigüedad: 20 años, 2 meses
Puntos: 0
aca encontre el FAQ que estaba buscando:

Cita:
Tema: SEGURIDAD

Pregunta: Autentificar usuarios en base de datos

Respuesta:

Puedes hacer lo siguiente:




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:

PHP:--------------------------------------------------------------------------------

<?
/* 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

PHP:--------------------------------------------------------------------------------
<? 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 ...

ahora bien, te hago una consulta: como creo una base de datos MYSQL??