<?

// ------------------------------------------------------------------------- //
// Protection avec HTTP-BASIC et données dans MySQL.                         //
// ------------------------------------------------------------------------- //
// Auteur: Perrich                                                           //
// Email:  perrich@netsolution.fr                                            //
// Web: http://www.frshop.net/                                               //
// ------------------------------------------------------------------------- //
// lib_auth.php : cette librairie est à appeler sur chaque page              //
// ------------------------------------------------------------------------- //

function headerDefine() {
  
header( 'WWW-Authenticate: basic realm="Protection du site"' );
  
header( 'HTTP/1.0 401 Unauthorized');
  print(
'<html><body>Acc&egrave;s non autoris&eacute;.\n</body></html>' );
  exit();
}

function
authUser( $con ) {
  
  global
$PHP_AUTH_USER, $PHP_AUTH_PW;

  if ( empty(
$PHP_AUTH_USER) || ($PHP_AUTH_USER=="") ) {
    
// rien n'a été saisi, on demande le login et le mot de passe
    
headerDefine();
  } else {
    
// on recherche l'utilisateur saisi dans la fenetre
    
$requete  = "SELECT ID, DROITS ";
    
$requete .= "FROM ADMIN ";
    
$requete .= "WHERE LOGIN='$PHP_AUTH_USER' ";
    
$requete .= "AND PASSWORD=PASSWORD('$PHP_AUTH_PW')";
    
$query = mysql_query( $requete, $con );
    if (
mysql_num_rows( $query ) == 0 )
      
headerDefine(); // aucune reponse, on repose la question
    
$result = mysql_fetch_row($query);
    return
$result[0]."|".$result[1];
  }
}
?>

<?

// ------------------------------------------------------------------------- //
// EXEMPLE                                                                   //
// ------------------------------------------------------------------------- //
// Ensuite pour proteger les pages il suffit de faire un require de la       //
// librairie avant toute autre commande, d'ouvrir une connexion avec la base //
// de données puis d'appeler la fonction authUser() avec la connexion        //
// ouverte.                                                                  //
// ------------------------------------------------------------------------- //

require 'lib_auth.php';
  
$conAdmin = mysql_connect( 'localhost', 'root', '' );
$test = mysql_select_db( 'admin' , $conAdmin );
$result = authUser( $conAdmin );

// la suite ...

?>