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 :

Empêcher le forcage de connexion.


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 215
    Points : 170
    Points
    170
    Par défaut Empêcher le forcage de connexion.
    Bonjour,

    Je dispose d'une partie administrative sur mon site perso. Je souhaite pour des raisons de sécurité limiter les tentatives de connexion.

    Mes questions sont les suivantes :
    - A combien limiter le nombre de tentatives ?
    - Comment limiter le nombre de tentative ?
    - Faut-il passer par des une variable session que l'on incrémenterai de 1 à chaque essai jusqu'a atteindre x essais ?
    - Faut-il créer un cookie au bout de x essais ?
    - Autre solution?

    Merci

  2. #2
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Citation Envoyé par Niki59 Voir le message
    Bonjour,

    Je dispose d'une partie administrative sur mon site perso. Je souhaite pour des raisons de sécurité limiter les tentatives de connexion.

    Mes questions sont les suivantes :
    - A combien limiter le nombre de tentatives ?
    - Comment limiter le nombre de tentative ?
    - Faut-il passer par des une variable session que l'on incrémenterai de 1 à chaque essai jusqu'a atteindre x essais ?
    - Faut-il créer un cookie au bout de x essais ?
    - Autre solution?

    Merci
    Bonjour,

    3 c'est un bon nombre je pense,
    Pour limiter, une table SQL avec l'ip et le nombre de tentatives, cookie / session si tu veux, sachant que ca reviens plus ou moins au même ( mais prefère la session au cookie, on peux pas modifier une session alors qu'un cookie suffit de changer une valeur dans un fichier txt :/ ), sachant que de toute facon, si le client supprime ses cookies et change d'ip, il sera pas possible de savoir que c'est à nouveau lui

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    Par défaut
    Bonjour,

    Si tu ne veux pas qu'un "robot" fasse par "Force Brute" une entrée surprise sur ton site, ajoute un Captcha, c'est très facile à créer et installer, la protection est bien plus sur, malgré le fait que certains "robots" commencent à lire de plus en plus facilement les images.

    GoT

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 215
    Points : 170
    Points
    170
    Par défaut
    Citation Envoyé par LoveAngel Voir le message
    on peux pas modifier une session alors qu'un cookie suffit de changer une valeur dans un fichier txt
    Dans mon navigateur Firefox si je vais dans
    Outils > Effacer mes traces > Sessions d'identifications
    Cela supprime toutes sessions créées je crois, non?

    Le gars arrive sur mon site, il fait ses trois tentatives, puis supprimes ses "Sessions d'identifications" et hop c'est repartie pour trois nouvel essais. =/
    Donc au final sa ne vaut pas mieux que les cookies je pense... non?

    Si tu ne veux pas qu'un "robot" fasse par "Force Brute" une entrée surprise sur ton site, ajoute un Captcha, c'est très facile à créer et installer, la protection est bien plus sur, malgré le fait que certains "robots" commencent à lire de plus en plus facilement les images.
    Oui sa me paraît une bonne idée! Tu as d'autres idées pour ameliorer encore plus la sécurité de ma partie administrative ?

    Merci à vous.

  5. #5
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Citation Envoyé par Niki59 Voir le message
    Dans mon navigateur Firefox si je vais dans
    Cela supprime toutes sessions créées je crois, non?

    Le gars arrive sur mon site, il fait ses trois tentatives, puis supprimes ses "Sessions d'identifications" et hop c'est repartie pour trois nouvel essais. =/
    Donc au final sa ne vaut pas mieux que les cookies je pense... non?
    Oui, c'est bien pour ça que je dis que session et cookie, ça reviens finalement au même ...

    Sinon, ce que tu peux faire, c'est limiter le nombre de connexion à la suite pour tout le monde, en ayant une table SQL ou un fichier texte, dans lequel tu met la dernière date de connexion, et le nombre de connexion en échec successives ... et tu bloque si le nombre de connexions en échec est trop grand et le temps passé inférieur à la limite.
    Mais effectivement, GoTrUnKo à une bonne idée en pensant au captcha.

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 215
    Points : 170
    Points
    170
    Par défaut
    Ok, imaginons qu'une personne tente 4 fois de se connecter avec 4 échecs consécutifs. Cela lui bloque l'accès et aussi pour toute autre personne voulant se connecter.

    Mais comment se fait la réactivation de la possibilité de se connecter et sous quelles conditions?

  7. #7
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    Citation Envoyé par Niki59 Voir le message
    Cela supprime toutes sessions créées je crois, non?
    Je ne sais pas ce que ça supprime, mais ce ne sera pas le fichier de session qui se trouve sur le serveur, ça supprimera surement le cookie contenant l'identifiant de session...

    Sinon un article assez complet sur le sujet je pense : http://alexandre-joly.developpez.com...i-brute-force/

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 215
    Points : 170
    Points
    170
    Par défaut
    Citation Envoyé par 12monkeys Voir le message
    Sinon un article assez complet sur le sujet je pense : http://alexandre-joly.developpez.com...i-brute-force/
    Merci je vais lire ca de suite.

  9. #9
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Points : 225
    Points
    225
    Par défaut
    Citation Envoyé par Niki59 Voir le message
    Ok, imaginons qu'une personne tente 4 fois de se connecter avec 4 échecs consécutifs. Cela lui bloque l'accès et aussi pour toute autre personne voulant se connecter.

    Mais comment se fait la réactivation de la possibilité de se connecter et sous quelles conditions?
    Ben, on peux imaginer, si le temps séparant la connexion courante de la dernière en échec est supérieur à 5 minutes, alors on remet le compteur à 0 ^_^

    Sinon, quand on supprime les infos de session, on supprime les cookie contenant le sess_id, ça supprime effectivement pas le fichier sur le serveur ( c'est des noms et des formats de variable totalement détermines, donc c'est juste de la recherche et suppression )

  10. #10
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    Par défaut
    Bonsoir,
    Si ton site est personnel je ne pense pas qu'il faille le protéger énormément non plus, un simple captcha et un mot de passe composé de chiffre, caractères spéciaux et de lettres suffira amplement.
    Dans le cas où le site peut être très gros et aura une certaine fréquentation, utilise SSL, captcha, mot de passe crypté md5 et tout le bouzin, le captcha n'est pas non plus nécessaire mais pour une partie d'administration c'est très pratique.

    Il existe aussi d'autres protection comme avec le .htaccess mais je ne sais pas du tout ce que ça donne.

    La meilleur protection étant quand même un bon mot de passe composé de pleins de caractères que tu changeras régulièrement. Ainsi qu'un identifiant lui aussi complexe, tout en respectant la case (A différent de a, vérification code ASCII)


    Si tu veux après diminuer le nombre de tentative, pointe plutôt l'objectif sur l'adresse IP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
                {                                       
                $adresseIP= $_SERVER['HTTP_X_FORWARDED_FOR'];
                } 
            elseif(isset($_SERVER['HTTP_CLIENT_IP']))
                {                                 
                $adresseIP= $_SERVER['HTTP_CLIENT_IP'];
                }
            else
                {                              
                $adresseIP= $_SERVER['REMOTE_ADDR'];
                }
    Ce bout de code va te permettre de récupérer l'ip, qu'elle soit derrière un proxy ou autre (si mes souvenirs sont bons en tout cas ça marche niquel chez moi). Ensuite dans ta base de données tu rajoutes une table "logError" ou un truc du genre (c'est la première chose qui m'est venue à l'esprit), avec pour champs :
    - IP
    - le nombre de tentative

    l'IP peut servir de clé primaire, mais je te conseil de faire un autre champ identifiant autoincrémente, ce sera plus sur.

    1 tentative : affichage du captcha
    2 tentative : pareil
    3 tentative : pareil
    4 tentative : ... (le nombre de tentavie maximum que tu vas définir dans ton code)
    Si par exemple l'utilisateur n'avait que trois essais, tu insers 4 dans le nombre de tentative, et tu lui interdis la visibilité ainsi que l'accès de la page pendant X temps pour cette adresse IP.

    Du moins je ferais de cette manière pour rendre assez simple les choses sans trop me prendre la tête :/ Il existe bien d'autres sécurité plus poussée mais où est l'utilité pour certains sites internet.

    GoT

Discussions similaires

  1. [XL-2007] Empécher/ Intercepter la fenetre Connexion à SQL Serveur
    Par BoromSikim dans le forum Excel
    Réponses: 2
    Dernier message: 04/03/2015, 09h17
  2. [Débutant] empêcher clic bouton suite plusieurs essais de connexion
    Par eseuk dans le forum C#
    Réponses: 4
    Dernier message: 23/02/2012, 17h40
  3. [MySQL] Empêcher les connexions multiples
    Par Delors dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/09/2011, 19h23
  4. Empécher la fermeture d'un script de connexion.
    Par nabil95 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 01/04/2007, 22h32
  5. [SQL Server 2000][W2000] Empêcher une connexion
    Par Débéa dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 01/02/2006, 11h33

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