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 :

sécuriser un système d'authenfication - conseil


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 106
    Par défaut sécuriser un système d'authenfication - conseil
    Bonjour,

    Je voudrais de vos conseils pour sécuriser une page authentification. On donne le login et mdp et selon le cas , on est redirigé ou pas.
    Je ne pense pas que ce script a besoin de sécurité. Mais j'y connais un peu rien alors je voudrais bien vos conseils.
    Donc ce sont deux pages toute bête. Je posterai par la suite le script qui permet l'ajout d'un utilisteur et d'un login dans la BDD, je tenterai d'abord de me débrouiller tout seul.
    Mais pour simplement la phase authentification, je ne vois pas quoi sécuriser.



    Code html
    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
    <form action="login2.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="pass" maxlength="20"></td>
      </tr>
      <tr>
        <td colspan="2" align="center"><input type="submit" value="log in"></td>
      </tr>
    </table>
    </form>

    ET


    Code 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
    <?php
    include ("../../_modele/php/main.php");
     
    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 password from administration where login='".$login."'";
      $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
      $data = mysql_fetch_assoc($req);
     
     
     sql_mysql_query("SELECT id FROM administration WHERE login = '$login'");
        while ($row = mysql_fetch_object($query)) {
                    $id = $row->id;
        }
     
      if($data['password'] != $pass) {
        echo '<p>Mauvais login / password. Merci de recommencer</p>';
        include('login1.php'); // On inclut le formulaire d'identification
        exit;
      }
      else {
     
       $_SESSION['id'] = $id;
     
        echo 'Vous etes bien logué';
     
        // vers la page d'accueil
               header("Location: ../../accueil/eap/acceuil.php");
      }  
    }
    else {
      echo '<p>Vous avez oublié de remplir un champ.</p>';
     
     
       include('login1.php'); // On inclut le formulaire d'identification
       exit;
    }
     
     
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    N'utilise pas extract() et protège les données inserées dans les requêtes avec mysql_real_escape_string() pour les chaines et intval() pour les entiers.

    Pour le reste ton code est difficile a suivre ; par exemple une fonction sql_mysql_query() apparait tout d'un coup, une variable $query sort d'on ne sait pas où, tu fais deux fois la même requête pour récuperer deux champs de la même ligne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 106
    Par défaut
    oui merci c'est fait.

    Autrement sql_mysql_query() était une fonction, qui sert a gagner du temps. dès que je l'apelle $query existe ainsi que par exemple $nb qui représente directement le nombre de ligne de résultat, ect... plein de fonction comme ca..

    Merci

Discussions similaires

  1. Le conseil en Système d'Information
    Par naouara17 dans le forum Etudes
    Réponses: 3
    Dernier message: 27/04/2007, 14h43
  2. Réponses: 8
    Dernier message: 26/11/2006, 15h16
  3. Réponses: 6
    Dernier message: 15/03/2006, 21h54
  4. besoin d'un conseil : système de traduction
    Par Merfolk dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 05/11/2005, 15h10

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