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

PHP & Base de données Discussion :

Authentification échouée sur intranet


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Par défaut Authentification échouée sur intranet
    Bonjour,
    J'ai créé un site intranet avec authentification. Mon site à deux interfaces une partie utilisateur et l'autre partie administrateur.

    Mes utilisateurs (environ 130) sont tous dans ma base donnée. Concernant l'authentification, j'ai un nom d'utilisateur et un mot de passe (non crypté).

    Mon problème c'est que les 3/4 de mes utilisateurs arrivent a se connecter sur le site intranet et les 1/4 mon site mais accès refusé alors que le mot de passe est identique pour tout le monde.

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?
    include ("include/connexion.php");
     
    IF (ISSET($_POST["Login"]) AND ISSET($_POST["MDP"])){
    	/*
    	IF ($_POST["Login"]=="toto" AND $_POST["MDP"]=="123")
    	{echo "Vous êtes bien authentIFié";}
    	else {echo "Votre connexion à échouée";}
    	*/
    	$SQL="SELECT * FROM USER WHERE IDENTIFIANT='".$_POST["Login"]."' AND MDP='".$_POST["MDP"]."'";
    	$RESULT=mysql_query($SQL);
    	IF (mysql_num_rows($RESULT)==1){
    		session_start ();
    		$row=mysql_fetch_assoc ($RESULT);
    		$_SESSION ["IDuser"]=$row["IDUSER"];
    		$_SESSION ["NOM"]=$row["NOM"];
    		$_SESSION ["PRENOM"]=$row["PRENOM"];
    		$_SESSION ["METIER"]=$row["METIER"];
    		$_SESSION ["ADMIN"]=$row["ADMIN"];
    		header("location:accueil.php");
    	}
    	// $SQL="SELECT * FROM USER WHERE IDENTIFIANT='toto'";
    	echo "<H2><b>Votre Login ou mot de passe saisi est incorrect</b></H2>";
    }
    ?>
    <LINK rel=stylesheet type="text/css" href="include/style.css">
    <html>
    <body> 
    <form action="" METHOD="POST">
    <TABLE width="100%" height="100%">
    <TR><TD align=center valign=middle>
    	<TABLE width="350" >
    	<TR><TD align=right><b>Votre Login </td><td><input type="text" name="Login" size="20"></TD></TR>
    	<TR><TD align=right><b>Votre mot de passe </td><td><input type="password" name="MDP" size="20"></TD></TR>
    	<TR><TD colspan=2  align=center><br><input type="submit" class="" value="Entrer" name="B1">
    	<input type="reset" value="Annuler" name="B2"></TD></TR>
    </TD></TR>	
    </TABLE>
    </form>
    </html>
    D'où le problème peut venir?

    Merci d'avance

  2. #2
    Membre éclairé Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Par défaut
    Ne serait-ce pas un problème de destruction de session après déconnexion ?
    Il faut faire un test supplémentaire pour vérifier si une session a déjà été ouverte et si c'est le cas, détruire toutes les variables de session puis les remplacer par les nouvelles valeurs...
    ce qui donne dans mes sites :
    * pour la partie test php
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
    <?php
    session_start();  /* Démarre la session */
     
    require_once ('user.functions.php');
    require_once ('sessions.functions.php');
     
    $loginOK = false;  
     
    // On n'effectue les traitement qu'à la condition que 
    // les informations aient été effectivement postées sinon traitement redirection erreur
    if ( empty($_SESSION) ) 
    {
        $login = trim($_POST['login']);
        $password = trim($_POST['mdp2']);
     
        // On vérifie que l'utilisateur existe bien
        $data = get_user_login($login);
     
        if(empty($data['id_user']))
        {
            header("Location: ../../index.php?error=bad_login");
            exit();
        }
     
        // On vérifie que son mot de passe est correct
        if (strcmp($password,$data['password'])==0) 
        {
            // Enregistrement les variables de session
            $_SESSION['id_user'] = $data['id_user'];
     
            // Enregistrement de la session pour statistiques
            add_session($data['id_user']) ;
     
            // Redirection vers l'espace membre.
            header("Location: ../../index.php?cat=mainboard");
            exit();
        }
        else 
        {
            header("Location: ../../index.php?error=bad_pwd");
            exit();
        }
    }
    else if(!empty($_SESSION))
    {
        // On vide le tableau de session
        $_SESSION['id_user'] = "";
     
        session_unregister('id_user');
     
        $_SESSION = array();
     
        if (isset($_COOKIE[session_name()])) 
        { 
            setcookie(session_name(), '', time()-42000, '/');
        }
     
        // suppression des variables de sessions
        session_unset(); 
     
        // On détruit la session
        session_destroy();
     
        $login = $_POST['login'];
        $password = $_POST['mdp2'];
     
        // On vérifie que l'utilisateur existe bien
        $data = get_user_login($login);
     
        if(empty($data['id_user']))
        {
            header("Location: ../../index.php?error=bad_login");
            exit();
        }
     
        // On vérifie que son mot de passe est correct
        if (strcmp($password,$data['password'])==0) 
        {
             // Enregistrement les variables de session
            $_SESSION['id_user'] = $data['id_user'];
     
            $_SESSION['timeout']=time();
     
            // Enregistrement de la session pour statistiques
            add_session($data['id_user']) ;
     
            // Redirection vers l'espace membre.
            header("Location: ../../index.php?cat=mainboard");
            exit();
        }
        else 
        {
            header("Location: ../../index.php?error=bad_pwd");
            exit();
        }
    }
    else
    {
        header("Location: ../../index.php");
        exit();
    }
     
    ?>
    * pour la partie HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form method="post" action="scripts/php/valid_session.php">
            Login<br /><br /><input type="text" name="login" id="login"> <br /><br /> 
            Mot de passe<br /><br /><input type="password" name="mdp2" id="mdp2"><br /><br />  
            <input type="image" src="images/valid2.png"><br /><br />    
            </form>

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Par défaut
    Merci rems033 de ta réponse mais cela ne me permet pas de savoir ou est-ce que j'ai fais exactement l'erreur dans mes scripts. n'ayant pas trop le temps de chercher dans les forums compte tenu de mon travail, je voudrais juste une aide concernant mes scripts.

    Voici ce que j'ai dans securite.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?
    include ("connexion.php");
     
    session_start();
    IF (!ISSET($_SESSION["IDuser"])){
    	header("location:index.php");
    	//echo ("pas de session");
    }
    ?>
    et dans connexion.php:
    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
    18
    19
    20
    21
    <?php
    $host = "localhost";
    $user = "root";
    $pass = "";
    $bdd = "ur210";
     
    $connexion = mysql_pconnect ($host, $user, $pass);
     
     if (!$connexion)
     {
      echo "Désolé, connexion au serveur impossible\n";
      exit;
     }
     
     if (!mysql_select_db($bdd, $connexion))
     {
      echo "Désolé, accès à la $pBase impossible\n";
      echo "<b>Message de MySQL :</b> " . mysql_error($connexion);
      exit;
     }
    ?>
    Le problème n'est toujours pas résolu.
    Je ne sais plus quoi faire. Que dois-je faire exactement? Etant débutant dans ce domaine j'ai besoin de votre aide.

    Merci d'avance

Discussions similaires

  1. [Sécurité] Authentification utilisateur sur site
    Par Badaboumpanpan dans le forum Langage
    Réponses: 2
    Dernier message: 04/07/2006, 11h57
  2. Politique de sécurité pour mes documents sur intranet
    Par aziza.bg dans le forum Sécurité
    Réponses: 2
    Dernier message: 27/06/2006, 14h22
  3. Authentification HTTP sur 2 serveurs
    Par mecha dans le forum Apache
    Réponses: 5
    Dernier message: 23/06/2006, 17h21
  4. récupérer un fichier sur Intranet
    Par nbelg27 dans le forum Access
    Réponses: 5
    Dernier message: 10/11/2005, 13h58
  5. [Configuration] pb avec mon serveur sur intranet
    Par dehbi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 30/07/2004, 16h39

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