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 :

[Système] Installer système de verrouillage suite à 3 mauvaises authentifications


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 37
    Points : 28
    Points
    28
    Par défaut [Système] Installer système de verrouillage suite à 3 mauvaises authentifications
    Bonjour à tous et à toutes,

    Je suis actuellement en train de finaliser le système d'authentification de mon site web, et je souhaiterais installer un système de vérrouillage au niveau de l'authentification suite à 3 mauvaises tentatives de connexions.

    Tout est en place si ce n'est la boucle permettant de comptabiliser le nombre de mauvaises authentifications.

    Pour ce faire j'ai penssé à utiliser la boucle while, ce choix est t'il le plus judicieux ?

    Je place une partie de mon code ci dessous,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $verification_existant_base_utilisateurs="SELECT * FROM base_utilisateurs WHERE identifiant_de_connexion='$identifiant_de_connexion' && mot_de_passe_de_connexion='$mot_de_passe_de_connexion'";
    $resultat_verification_existant_base_utilisateurs=mysql_query($verification_existant_base_utilisateurs);
    if (mysql_num_rows($resultat_verification_existant_base_utilisateurs)==0)
    while (...)
    elseif (déjà crééé. dans le cas d'une bonne authentification)
    Le problème que je rencontre est que je n'arrive pas à concevoir le comptage de mauvaises authentifications à l'aide du while.

    auriez-vous une petite idée pour me faire avancer ?

    Je vous remercie par avance,

    Cordialement.

    Velkan.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Y'a plusieurs facon de faire mais la plus simple c'est d'ajouter un champ tentative_connexion dans ta table base_utilisateur que tu incrementes a chaque tentative de connexion et que tu remets a zero si le user a réussi a se connecter.

    Si tu veux quelque chose de plus robuste tu peux créer une table log_connexion
    et enregistrer dans cette table toutes les tentatives de connexion. Tu n'as plus qu'a compter le nombre d'entrée dans cette table.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 37
    Points : 28
    Points
    28
    Par défaut Reponse
    Bonjour,

    En effet je n'avais pas penssé à l'incrementation dans une base.

    Dans mon idée, je ne souhaite pas bloquer l'utilisateur à vie lol

    Je souhaite simplement vérrouiller l'acces à son espace perso durant 15 minutes à l'aide d'un cookie qui est déjà opérationel.

    J'ai travailler un peu plus mon code source ce matin :

    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
     
    $verification_existant_base_utilisateurs="SELECT * FROM base_utilisateurs WHERE identifiant_de_connexion='$identifiant_de_connexion' or mot_de_passe_de_connexion='$mot_de_passe_de_connexion'";
    $resultat_verification_existant_base_utilisateurs=mysql_query($verification_existant_base_utilisateurs);
    if (mysql_num_rows($resultat_verification_existant_base_utilisateurs)!=0)
    {
    $tentative_authentification = 1;
    while ($tentative_authentification < 3)
    {
    $tentative_authentification++;
    }
    if ($tentative_authentification > 3)
    {
    $_SESSION['verrou_espace_perso'] = "verrouillage_espace_perso_active";
    }
    }
    else
    {
    while ($data = mysql_fetch_assoc($resultat_verification_existant_base_utilisateurs))
    {
    $_SESSION['id'] = $data['id'];
    Le seul problème que je rencontre à présent, est que la boucle ne se fait plus.

    Auriez vous une petite idée pour placer mon while ? je n'y arrive pas.

    Merci par avance.

    Cordialement

    Velkan.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Points : 1 177
    Points
    1 177
    Par défaut
    Il ne te faut pas de boucle, il faut juste que tu enregistres le nombre de tentative dans ta variable de session.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['tentative_connexion'] =  $_SESSION['tentative_connexion'] + 1;
    et la date de la derniere tentative de connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['tentative_connexion_date'] =  date('Ymd-h:i')

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. .iso <-> système à installer
    Par elodouwen dans le forum VirtualBox
    Réponses: 6
    Dernier message: 03/05/2010, 22h24
  2. Installation système Mac
    Par vanturea dans le forum Apple
    Réponses: 3
    Dernier message: 08/04/2009, 15h50
  3. Backup quel système installer
    Par cchevalier72 dans le forum Composants
    Réponses: 5
    Dernier message: 13/08/2007, 13h48
  4. [Système]Installation du Jet 3.51
    Par Stef300 dans le forum Access
    Réponses: 2
    Dernier message: 13/04/2007, 14h55

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