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écurité d'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écurité d'un mot de passe
    salut tout le monde
    voila je suis entrain de générer une application d'un annuaire du personnel et je veux la sécurisé a l'aide d'un mot de passe
    mais je veux le mot de passe qui soit dans la base de donnée et n'ont pas dans un script comme ceci voila mon script mot de passe:
    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>
    mois je veux le mot de passe qui soit dans la base de donnée pour etre mieux sécurisé et je veux aussi le crpté si c'est possible
    je suis débutante en php et je ne sais pas comment faire
    j'éspére qu'il ya quelqu'un qui peux m'aidé
    a bientot

  2. #2
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 489
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 489
    Par défaut
    Salut,

    il faut commencer par hasher ton mot de passe pour pas qu'il apparaisse en clair.
    utilise une des fonctions sha : sha1() par exemple
    tu as aussi ld md5(), et d'autres

    apres, si tu ne sais pas inter-agir avec une base de donnees, il existe plein de tutos
    sylvie-vauthier.developpez.com/tutoriels/php/grand-debutant/ (j'aime bien le titre xD) => etape 6
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    tu demande a la création d'un nouvel user de entrer le mot de pass qu'il désiré, tu le passe dans la fonction md5() et tu enregistre la string "crypté" ainsi dans la base de données en relation avec l'user.
    Et le tour est joué.
    A la connection d'un user il rentre son mdp , tu le repasse par md5 et le compare a celui stoqué dans la base de donnés.
    En cas d’égalité tu lui ouvre la session sinon tu le redirige vers la page de login en l'avertissant que le mot de pass entré est incorrect.

  4. #4
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    Qui dit annulaire du personnel fait invariablement penser à du LDAP. pourquoi malgré le côté débutant, ne pas suggerer que le mot de passe soit transmit au LDAP pour verif et comme ça exit le côté gestion du mot de passe sécurisé.

    on demande le compte et le mot de passe, on se connecte sur le ldap avec pour vérifier les credential et ensuite si "ça passe" ça passe et sinon ça passe pas.

    Et là c'est super sécurisé parce que tu ne stockes pas le mot de passe, reste le mot de passe qui se promène en clair sur le réseau, avec ta solution précédant on avait le même défaut. Et le passage en https c'est simple parce qu'il suffit de configurer/diffuser les certificats de chiffrement ce qui peut être moins évident.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 161
    Par défaut
    merci tout le monde mais si je vais utilisé la fonction md5
    ou je doit la mettre dans mon ancien script authentification2.php
    ou quoi
    si c'est le cas ou exatcte
    parceque voila un exemple d'une fonction md5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $str = 'apple';
     
    if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
        echo "Voulez-vous une golden ou une spartan?";
        exit;
    }
    ?>
    désolé pour le dérangement et merci bcp pour l'aide
    j'éspére qu'il ya qui peux m'aidé parceque je suis débutante et tout sa c nouveau
    merci
    a bientot

  6. #6
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Par défaut
    dans la page recuperant les valeurs du formulaire d'inscription si le mdp saisi est recperé dans une valeur $mdp par exemple:

    Puis tu enregistre dans la BdD

  7. #7
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 489
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 489
    Par défaut
    attention a ne pas induire les debutants en erreur
    hashage != cryptage.
    cryptage = decryptage = recuperation de la chaine originale.
    hashage = chaine irrecuperable.

    je ne suis pas sur que le md5 soit la meilleure solution... je l'avais cite car c'est un "classique", mais il a ete cracked il y a un moment... (il y a meme des sites qui proposent de recuperer la chaine a partir d'un md5...)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

Discussions similaires

  1. Réponses: 5
    Dernier message: 31/03/2008, 17h07
  2. Afficher le niveau de sécurité d'un mot de passe
    Par bouazza92 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 04/05/2006, 10h42
  3. [Sécurité] Crypter un mot de passe
    Par julien.63 dans le forum Langage
    Réponses: 8
    Dernier message: 25/04/2006, 17h24
  4. [Sécurité] Cryptage des mots de passe
    Par franfr57 dans le forum Langage
    Réponses: 9
    Dernier message: 25/04/2006, 14h04
  5. [Sécurité] Renvoyer un mot de passe crypté
    Par psychoBob dans le forum Langage
    Réponses: 6
    Dernier message: 23/04/2006, 00h43

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