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 :

sécurisé une application php par un mot de passe


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 161
    Par défaut sécurisé une application php par un mot de passe
    salut tout le mone
    voila j'ai une application php et je veux la sécusisé via un mot de passe
    j'ai rélisé le script suivant
    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
    <?php
     
        // Definition des constantes et variables
        define('login','ingenieur');
        define('password','epst2012');
        $errorMessage = '';
     
        // Test de l'envoi du formulaire
        if($_POST) {
     
            // Les identifiants sont transmis ?
            if(!empty($_POST['login']) && !empty($_POST['password'])) {
     
                // Sont-ils les mêmes que les constantes ?
                if($_POST['login'] !== login) {
     
                    $errorMessage = 'Mauvais login !';
                }
                  else if($_POST['password'] !== password) {
     
                    $errorMessage = 'Mauvais password !';
                }
                  else
                {
                    // On ouvre la session
                    session_start();
     
                    // On enregistre le login en session
                    $_SESSION['login'] = login;
     
                    // On redirige vers le fichier admin.php
                    header('Location:frameessai.htm');
                    exit();
                }
            }
              else
            {
                $errorMessage = 'Veuillez inscrire vos identifiants svp !';
            }
        }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
        <head>
            <title>Formulaire d'authentification</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
        <body bgcolor="#FFFFFF">
        <div align="center">
              <div align="left">
                <div align="center">
                  <div align="left">
                    <div align="center">
                      <pre><font size="6"><strong><img src="logo_epst_vide.png" width="98" height="55" /><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="490" height="53">
    <param name="movie" value="EPST.swf" /> <param name="quality" value="high" />
    <embed src="EPST.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="490" height="53"></embed></object>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="581" height="135"><param name="quality" value="high" />
    <embed src="autentification.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="581" height="135"></embed></object></strong></font></pre>
                    </div>
                  </div>
                </div>
              </div>
        </div>
            <div align="center"> </div>
        <form action="<?php echo htmlspecialchars($_SERVER['file:///D|/mmes%20besoins/Bureau_D/xampp/htdocs/projet/PHP_SELF']); ?>" method="post">
              <div align="center">
                <h1><strong><em>Identifier vous </em></strong></h1>
              </div>
          <fieldset><div align="center"><?php
                        // Rencontre-t-on une erreur ?
                        if(!empty($errorMessage)) {
     
                            echo htmlspecialchars($errorMessage);
                        }
                    ?>
              </div>
          <pre><label for="login">                                                   <strong>                   LOGIN           :</strong>  </label> <input type="text" name="login" id="login2" /></pre>
              <pre>                                                                      <strong><label for="password">Mot de Passe    :</label><label for="password"> </label></strong><label for="password">  <input type="password" name="password" id="password" /></label></pre>
          <div align="center">
                      <pre><input type="submit" name="submit" value=" Connexion " /></pre>
              </div>
              </fieldset>
            </form>
    </body>
    </html>

    mais cet script n'ai pas sécurisé pour cela je veux créer une table user dans ma base de donnée base 005
    cette table user contient : id, login, password
    et je veux que le nom d'utilisateur et le mot de passe soit dans la base de donnée et n'ont pas dans un script
    mais puisque je suis débutant j'arrive pas a terminé cet script
    est ce qu'il ya quelqu'un qui peux m'aidé
    merci d'avance
    a bientot

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 161
    Par défaut
    resalut
    bon voila ce que j'ai fait comme nouveau script d'authentification
    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
    <?php require_once('Connections/connection.php'); ?>
    <?php
     
        // Definition des constantes et variables
        $errorMessage = '';
     
        // Test de l'envoi du formulaire
        if($_POST) {
     
            // Les identifiants sont transmis ?
            if(!empty($_POST['login']) && !empty($_POST['password'])) {
     
                // Sont-ils les mêmes que les constantes ?
                if($_POST['login'] !== login) {
     
                    $errorMessage = 'Mauvais login !';
                }
                  else if($_POST['password'] !== password) {
     
                    $errorMessage = 'Mauvais password !';
                }
                  else
                {
                    // On ouvre la session
                    session_start();
     
                    // On enregistre le login en session
                    $_SESSION['login'] = login;
     
                    // On redirige vers le fichier admin.php
                    header('Location:frameessai.htm');
                    exit();
                }
            }
              else
            {
                $errorMessage = 'Veuillez inscrire vos identifiants svp !';
            }
        }
    ?>
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>
     
    <body>
    <div align="center">
      <pre><font size="6"><strong><img src="logo_epst_vide.png" alt="epst" width="98" height="55" /><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="490" height="53">
    <param name="movie" value="EPST.swf" /> <param name="quality" value="high" />
    <embed src="EPST.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="490" height="53"></embed></object>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="581" height="135"><param name="quality" value="high" />
    <embed src="autentification.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="581" height="135"></embed></object></strong></font></pre>
    </div>
    <div align="center"> </div>
    <form action="<?php echo htmlspecialchars($_SERVER['file:///D|/mmes%20besoins/Bureau_D/xampp/htdocs/projet/PHP_SELF']); ?>" method="post">
      <div align="center">
        <h1><strong><em>Identifier vous </em></strong></h1>
      </div>
      <fieldset>
      <div align="center">
        <?php
                        // Rencontre-t-on une erreur ?
                        if(!empty($errorMessage)) {
     
                            echo htmlspecialchars($errorMessage);
                        }
                    ?>
      </div>
      <pre><label for="login">                                                   <strong>                   LOGIN           :</strong>  </label> <input type="text" name="login" id="login2" />
    </pre>
      <pre>                                                                      <strong><label for="password">Mot de Passe    :</label><label for="password"> </label></strong><label for="password"><input type="password" name="password" id="password" /></label>
    </pre>
      <div align="center">
        <pre><input type="submit" name="submit" value=" Connexion " />
    </pre>
      </div>
      </fieldset>
    </form>
    <p>&nbsp;</p>
    </body>
    </html>
    le seule probleme que j'ai d'aprés mes connaissance
    c'est comment je doit connecté a ma table pour que je ouisse retiré le login et le mot de passe
    est ce qu'il ya quelqu'un qui peux me donne un peux d'aide
    merci d'avance

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 161
    Par défaut
    voila j'ai trouvé ses deux script qui peuvent m'aidé
    avec la façon dont j'ai voulais travaillé
    voila le premier login.htm
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title> *** formulaire d'authentification *** </title>
    </head>
     
    <body>
     
    <form action="login.php" method='post'>
     <table align="center" border="0">
       <tr>
         <td>Login :</td>
         <td><input type="text" name="login" maxlength="250"></td>
       </tr>
       <tr>
         <td>Password</td>
         <td><input type="password"name="password" maxlength="10"></td>
       </tr>
       <tr>
         <td colspan="2" align="center"><input type="submit" value="log in"></td>
       </tr>
     </table>
     </form>
    </body>
    </html>
    et voila le deuxieme login.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
    <?php
    // pensez a ouvrir une connexion vers mysql ici
    // voir les exercices dans le menu de droite pour cela.
     
    if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
       extract($_POST);
       // on recupère le password de la table qui correspond au login du visiteur
      $sql = "select pwd from tbl_user where login='".$login."'";
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
      $data = mysql_fetch_assoc($req);
     
       if($data['pwd'] != $pass) {
         echo '<p>Mauvais login / password. Merci de recommencer</p>';
         include('login.htm'); // On inclut le formulaire d'identification
         exit;
       }
       else {
         session_start();
         $_SESSION['login'] = $login;
     
         echo 'Vous etes bien logué';
         // ici vous pouvez afficher un lien pour renvoyer
         // vers la page d'accueil de votre espace membres 
       }    
     }
     else {
       echo '<p>Vous avez oublié de remplir un champ.</p>';
        include('login.htm'); // On inclut le formulaire d'identification
        exit;
    }
     
     
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>
     
    <body>
     
     
     
    </body>
    </html>
    mais sa reste toujours un probleme
    par exemple dans ce script il ya la table tb-usr mais moi j'ai user mais le conflie qu'il ya c'est que dans ma table unser j'ai que , id, login et le password je n'ai pas pwd alors puisque je suis débutante j'arrive pas a réglé ce conflit
    j'espére qu'il ya quelqu'un qui peux m'aidé

  4. #4
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Par défaut
    Voilà sur quelle base je serais parti (crypte tes mdp en sha1 dans ta base)

    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
     
    <?php require_once('Connections/connection.php'); 
     
    // Definition des constantes et variables
    $errorMessage = '';
     
    //test existance POST
    if(isset($_POST['login']) 
    && !empty($_POST['login']) 
    && isset($_POST['password']) 
    && !empty($_POST['password']) {
    	//j'aime pas des $_POST dans tt le code
    	$logSaisi 	= $_POST['login'];
    	$passSaisi 	= $_POST['password'];
    } else {
    	$errorMessage = 'Veuillez inscrire vos identifiants svp !';
    }
     
    // Test existance user et validité pass
    if(empty($errorMessage)) {
    	//connect db et recup entrée user
    	$mysqli = new mysqli("example.com", "user", "password", "database");
    	$res 	= $mysqli->query('SELECT pass from tableusers where login = "'.$mysqli->real_escape_string($logSaisi).'"');
    	//test existance user
    	if($userDb = $res->fetch_assoc()) {
    		//test validité pass saisi
    		if(sha1($passSaisi) != $userDb->pass) {
    			$errorMessage = 'Erreur de mot de passe';
    		}
    	} else {
    		$errorMessage = 'Erreur de login';
    	}
    }
     
    //si loggé correctement (aucun message d'erreur) met en session et redirige
    if(empty($errorMessage)) {
    	// On ouvre la session
    	session_start();
     
    	// On enregistre le login en session
    	$_SESSION['login'] = $logSaisi;
     
    	// On redirige vers le fichier admin.php
    	header('Location:frameessai.htm');
    	exit;
    }
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    </head>
     
    <body>
    <div align="center">
      <pre><font size="6"><strong><img src="logo_epst_vide.png" alt="epst" width="98" height="55" /><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="490" height="53">
    <param name="movie" value="EPST.swf" /> <param name="quality" value="high" />
    <embed src="EPST.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="490" height="53"></embed></object>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="581" height="135"><param name="quality" value="high" />
    <embed src="autentification.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="581" height="135"></embed></object></strong></font></pre>
    </div>
    <div align="center"> </div>
    <form action="<?php echo htmlspecialchars($_SERVER['file:///D|/mmes%20besoins/Bureau_D/xampp/htdocs/projet/PHP_SELF']); ?>" method="post">
      <div align="center">
        <h1><strong><em>Identifier vous </em></strong></h1>
      </div>
      <fieldset>
      <div align="center">
        <?php
                        // Rencontre-t-on une erreur ?
                        if(!empty($errorMessage)) {
     
                            echo htmlspecialchars($errorMessage);
                        }
                    ?>
      </div>
      <pre><label for="login">                                                   <strong>                   LOGIN           :</strong>  </label> <input type="text" name="login" id="login2" />
    </pre>
      <pre>                                                                      <strong><label for="password">Mot de Passe    :</label><label for="password"> </label></strong><label for="password"><input type="password" name="password" id="password" /></label>
    </pre>
      <div align="center">
        <pre><input type="submit" name="submit" value=" Connexion " />
    </pre>
      </div>
      </fieldset>
    </form>
    <p>&nbsp;</p>
    </body>
    </html>

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 161
    Par défaut
    resalut
    et merci beaucoup pour la réponse
    mais quand j'ai fait comme tu ma dit
    c'est a dire tout le script qui existe
    il m'affiche l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Serveur distant ou fichier introuvable
     
    Vérifiez que l'adresse est écrite correctement, ou essayer de rechercher le site.

  6. #6
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Par défaut
    Vérifie vers ou tu envoie ton formulaire.
    J'ai bêtement recopié tout ton html, mais apparemment tu renvoi vers un fichier en local.

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 161
    Par défaut
    mais tu peux m'aidé plus
    je ne sais pas ou es le probleme exactement

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/01/2011, 11h10
  2. Réponses: 2
    Dernier message: 24/12/2010, 13h44
  3. Comment accéder a une table protegée par un mot de passe ?
    Par messahel dans le forum Bases de données
    Réponses: 1
    Dernier message: 22/05/2008, 14h03
  4. Protéger une seule cellule par un mot de passe
    Par Anaelody dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/07/2007, 15h56
  5. [Excel] Utiliser une application externe par une macro
    Par thierry2.dlp dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2005, 22h07

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