IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Authentification HTTP au moyen d'une base de données


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Authentification HTTP au moyen d'une base de données
    Bonjour à tous,
    je souhaiterais protéger une page HTML grâce à l'authentification HTTP et en utilisant des noms d'utilisateurs et mot de passe déjà contenu dans ma base de données, j'ai trouvé un script pour ce que je souhaite faire, au début je me connecte à ma BDD (jusque là pas de problème) mais par la suite le script donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    // Interroger la base de données
      $rq = "SELECT prenom FROM utilisateurs
             WHERE nom_utilisateurs='{$_SERVER['PHP_AUTH_USER']}'
             AND mot_de_passe=PASSWORD('{$_SERVER['PHP_AUTH_PW']}'}";
      $result = mysql_query ($rq);
      $ligne = @mysql_fetch_array ($result);
      if ($ligne)
      { // Si un enregistrement a été renvoyé
        $auth = TRUE;
        }
        }
    //Si on trouve rien:
    if (!$auth)
    { header('WWW-Authenticate: Basic realm="homelive"');
       header('HTTP/1.0 401 Unauthorized'); //Coup d'arrêt
       }
    ?>
    j'ai remplacé nom_utilisateur pas idUSER
    et mot_de_passe par mdp

    pour que ça corresponde à ma table (je ne sais si j'ai bien fait ça correctement)

    lorsque je lance ma page HTML on me demande bien de m'authentifier mais l'authentification ne marche pas alors que je tape un idUSER et un mdp existant dans ma BDD.

    De plus, j'ai entendu dire que l'on pouvait utiliser cette fonction que si PHP fonctionnait en module apache mais comment savoir si PHP est exécuté en qualité de module d'Apache et non en CGI.

    Merci d'avance

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par boss183
    De plus, j'ai entendu dire que l'on pouvait utiliser cette fonction que si PHP fonctionnait en module apache mais comment savoir si PHP est exécuté en qualité de module d'Apache et non en CGI.
    Oui mais si tel était le cas, les variables que vous tentez d'utiliser n'existeraient pas ! Vous pouvez normalement déterminer l'usage de PHP en tant que CGI ou non via la constante PHP_SAPI (et/ou d'après la sortie du phpinfo où figure cette information) et le cas échéant, retransmettre tout de même la partie authentification des entêtes à PHP par une règle de réécriture.

    Notez cependant que la syntaxe de votre requête, dont vous n'avez pas jugé bon de tester l'exécution, est incorrecte (il y a une accolade à la fin qui ne correspond pas à la parenthèse ouverte plus tôt) et que la fonction PASSWORD n'est pas recommandée pour hacher les mots de passe (c'est plutôt à réserver à MySQL).

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/10/2009, 17h26
  2. Réponses: 2
    Dernier message: 31/07/2009, 14h00
  3. Quel est le meilleur moyen d’accéder à une base de données ?
    Par aityahia dans le forum Bases de données
    Réponses: 57
    Dernier message: 05/07/2009, 00h09
  4. Meilleur moyen de populer une Combobox depuis une base de données
    Par Miles Raymond dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/07/2008, 10h34
  5. [Htaccess] Authentification sur une base de donnée
    Par ptitrhumdu73 dans le forum Apache
    Réponses: 2
    Dernier message: 04/12/2007, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo