Page 1 sur 1

authentification http

Posté : 30 avr. 2007, 14:23
par Invité
Bonjour,
j'ai récupéré un script pour faire une authentification http.
J'ai un fichier login.php qui contient le script de contrôle, qui est inclus dans toutes les pages que je veux protéger.

Dans la page login.php
$user = "admin";
$pwd = "admin";
 
function auth(){
     
     $realm="Authentification PHPindex";
 
     Header("WWW-Authenticate: Basic realm='".$realm."'");
     Header("HTTP/1.0  401  Unauthorized");
 
     echo "Vous ne pouvez accéder à cette page";     
 
     exit;
}
 
if( !isset($PHP_AUTH_USER) && !isset($PHP_AUTH_PW) ) {
     auth();
} 
else {
     if( $PHP_AUTH_USER==$user && $PHP_AUTH_PW==$pwd ) {
          // la suite du script sera exécutée
     }
     else{
          // rappel de la fonction d'identification
          auth();
     }
}
Et dans la page que je veux protéger:
include('login.php');
Je n'ai pas d'erreur mais mon mot de passe (admin) et mon identifiant (admin) ne passent pas...je n'arrive pas à me connecter avec.
Voyez vous ce qui cloche?

Posté : 30 avr. 2007, 19:55
par Invité
ok, ça ne marchait pas parce qu'ovh a un fonctionnement particulier.
J'ai trouvé une astuce intéressante
version simplifiée:
http://forum.ovh.com/archive/index.php/t-3275.html

version complète
http://www.yetanothercommunitysystem.co ... ew.php/321

Dans le script suivant qui permet de gérer l'identification après avoir créé un htaccess:
// maybe we have caught authentication data in $_SERVER['REMOTE_USER']
if((!$_SERVER['PHP_AUTH_USER'] || !$_SERVER['PHP_AUTH_USER'])
&& preg_match('/Basics+(.*)$/i', $_SERVER['REMOTE_USER'], $matches)) {
list($name, $password) = explode(':', base64_decode($matches[1]));
$_SERVER['PHP_AUTH_USER'] = strip_tags($name);
$_SERVER['PHP_AUTH_PW'] = strip_tags($password);
Que représente le tableau $matches? est-ce le login et le mote passe? comment créer un tableau $matches?

Merci pour vos réponses.