Bonjour,
Voilà je suis en train de réaliser l'authentification HTTP avec des login/password dans la base données, mais ça ne fonctionne pas.
Code :
- //affichage de la fenetre
- if (!isset($_SERVER['PHP_AUTH_USER']) && !isset($_SERVER['PHP_AUTH_PW'])) {
- header("WWW-Authenticate: Basic realm=\"Administration\"" );
- header("HTTP/1.0 401 Unauthorized" );
- exit();
- }
- //acces a la partie prive
- else {
- $class->sql("SELECT abo_id
- FROM pavut_abonnes
- WHERE abo_login='".$_SERVER['PHP_AUTH_USER']."'
- AND abo_type!='user'" );
- //Si l'utilisateur existe
- if ($class->num_rows()==1 && is_numeric($_SERVER['PHP_AUTH_PW'])) {
- $class->sql("SELECT abo_id, abo_nom, abo_prenom, abo_passwd, abo_type
- FROM pavut_abonnes
- WHERE abo_login='".$_SERVER['PHP_AUTH_USER']."' AND abo_passwd=PASSWORD(".$_SERVER['PHP_AUTH_PW']." )" );
- //Si l'utilisateur n'est pas trouvé : redirection 401
- if ($class->num_rows()==0) {
- header("HTTP/1.0 401 Unauthorized" );
- exit();
- }
- }
- //sinon redirection 401
- else {
- header("HTTP/1.0 401 Unauthorized" );
- exit();
- }
- }
|
En fait quand j'essaie de me logguer, j'ai une page blanche sans rien, on dirait que je vais sur l'erreur 401...
Déjà est ce que le code est bon ? des choses à changer surement ou ameliorer non ?