Vérifier l'identité de mon utilisateur sur chaque page

Vérifier l'identité de mon utilisateur sur chaque page - PHP - Programmation

Marsh Posté le 23-07-2006 à 19:37:43    

Nouveau problème, regardez un peu plus loin en dessous, merci !
 

Citation :


Au moins comme ça, on peut dire que c'est vraiment bien sécurisé ! lol
Voici le code :
 

Citation :


<?php
  include ("mysql.inc.php" );
  if(!isset($PHP_AUTH_USER)){
    header("WWW-Authenticate: Basic realm=\"Micro Application\"" );
    header("HTTP/1.0 401 Unauthorized" );
    echo "Accès refusé\n";
    exit;
  }
  else {
    $requete = "SELECT mot_de_passe,nom_utilisateur
              FROM utilisateurs  
              WHERE mot_de_passe = '$PHP_AUTH_PW' AND  
                    nom_utilisateur = '$PHP_AUTH_USER'";
 
    $resultat = mysql_query($requete,$connexion);
    $nombre_de_resultats = mysql_num_rows($resultat);
     
 if ($nombre_de_resultats == 0){
      header("WWW-Authenticate: Basic realm=\"Micro Application\"" );
      header("HTTP/1.0 401 Unauthorized" );
      echo "Accès refusé\n";
      echo "<a href=$PHP_SELF>Cliquez ici pour vous identifier ";
      echo "de nouveau</a>";
      exit;
    };
  };
?>
<html>
  <head>
    <title>Utilisateur autorisé</title>
  </head>
  <body bgcolor="#EEEEEE">
    <font face="Verdana, Arial" size="+1">
      Félicitations, vous avez réussi à vous connecter
    </font>
  </body>
</html>


 
mysql.inc.php

Citation :


<?php
 include ("configuration_carnet_adresses.inc.php" );
 $connexion = mysql_connect($serveur, $utilisateur, $mot_de_passe);
 
 if (!$connexion) {
  $sujet_du_mail = "Probleme de connexion à MySQL";
  $contenu_du_mail = "La page ".$PHP_SELF." a provoqué une erreur lors de sa tentative de connexion au serveur Mysql";
        $contenu_du_mail .= "\n situé sur le serveur ".$serveur." l'utilisateur est ".$utilisateur;
        $contenu_du_mail .= " avec comme mot de passe ".$mot_de_passe." \n il faudrait vérifier si le";
       $contenu_du_mail .= " serveur MySQL est actuellement lancé et si les paramètres des connexion sont valides.";
  mail($mail_administrateur, $sujet_du_mail, $contenu_du_mail);
 }
 
 
 $selection_de_la_base = mysql_select_db($nom_de_la_base,$connexion);
 
 if (!$selection_de_la_base) {
  $sujet_du_mail = "Probleme de sélection de la base";
  $contenu_du_mail = "La page ".$PHP_SELF." a provoqué une erreur lors de sa tentative de sélection de la base $nom_de_la_base ";
  mail($mail_administrateur, $sujet_du_mail, $contenu_du_mail);
 }
?>


 
configuration_carnet_adresses.inc.php

Citation :


/*****************************************************************************************
 * Début des paramètres à mettre à jour
 *****************************************************************************************/
 
 $serveur = "127.0.0.1";
 $utilisateur = "root";
 $mot_de_passe = "mdp";
 $nom_de_la_base = "Carnet_adresses";
        $mail_administrateur = "admin@mail.fr";
 
/*****************************************************************************************
 * Fin des paramètres à mettre à jour
 *****************************************************************************************/


 
 
Si vous voyez quelque chose qui cloche...
Ca attaque une base de données MySQL qui contient une table avec les coordonnées, l'identifiant et le mot de passe. Merci beaucoup pour votre aide !


Message édité par elliotdoe le 25-07-2006 à 23:54:42
Reply

Marsh Posté le 23-07-2006 à 19:37:43   

Reply

Marsh Posté le 23-07-2006 à 21:37:36    

Please Help !

Reply

Marsh Posté le 24-07-2006 à 09:07:36    

Tu pourrais peut-etre commencer par dire où ca ne va pas!!! Tu arrives à te connecter à la base? Si c'est le cas, on se fout des 2 autres bouts de code.

Reply

Marsh Posté le 24-07-2006 à 10:48:41    

j'ai l'impression qu'il y a un pb avec ça :

Citation :

   header("WWW-Authenticate: Basic realm=\"Micro Application\"" );
    header("HTTP/1.0 401 Unauthorized" );


 
Si tu veux, quand je lance la page ça m'affiche bien la fenêtre de connexion, j'entre les identifiants, la fenêtre part et revient desuite, en boucle... Apparemment la connexion à la base fonctionne.

Reply

Marsh Posté le 24-07-2006 à 14:41:04    

es-tu sur que la variable $PHP_AUTH_USER existe bien?

Reply

Marsh Posté le 25-07-2006 à 23:53:08    

Cette variable existe avec la fonction header...
J'ai laissé tombé cette méthode, mais je bloque maintenant sur un autre point : j'ai fait une identification toute conne, qui vérifie les résultats de la base, s'il y en a un elle dirige vers une page, sinon elle dirige sur la page de connexion.
 
En gros, j'aurai deux sites : un pour les non-authentifiés, et un pour les authentifiés. Le problème, c'est que pour l'instant, l'authentification se fait sur une seule page.
 
Le gars qui est un peu malin tape directement l'url de la page d'accueil des "authentifiés" et y tombe dessus, car il n'y a pas de revérification.
 
La question, c'est comment je peux vérifier le login et le mdp de mes authentifiés sur chaque page ?
 
 
J'ai tenté de définir des variables globales, mais j'arrive pas à faire grand chose...

Reply

Marsh Posté le 26-07-2006 à 00:01:16    

Je vais aller voir du côté des sessions PHP je pense... ça sera moins lourd et plus sûr... j'y connais rien mais je vais apprendre

Reply

Marsh Posté le 26-07-2006 à 08:22:32    

Effectivement [:pingouino]


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 27-07-2006 à 16:28:35    

oh oui beaucoup moins lourd :

Citation :


<?php
session_start();
 
if($_SESSION['id'] == 0){ //par exemple... ;)
 
}
else{
       echo"au revoir ...";
}
?>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed