Forum Programmation.php Tester un mot de passe en PHP

Posté par  (site web personnel) .
Étiquettes : aucune
0
13
oct.
2004
Salut à tous, je suis pas très bon dans les expressions rationnelles, mais je me documente en ce moment.

Je cherche a créer une expression rationnelle pour tester un mot de passe. Il faut qu'il ait entre 6 et 12 caractères, qu'il contienne au moins un caractère non alphanumérique et une majuscule.

Je vous remercie pour votre aide.
  • # sites...

    Posté par  (site web personnel) . Évalué à 1.

    au fait, si vous avez des sites bien pour les expressions rationnelles (php) avec surtout des exemples concrets ça peut aussi m'intéresser.

    merci.
    • [^] # Re: sites...

      Posté par  . Évalué à 3.

      • [^] # Re: sites...

        Posté par  (site web personnel) . Évalué à 3.

        http://www.regexp.org/(...)
        "info grep" aide bien aussi

        pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

        • [^] # Re: sites...

          Posté par  . Évalué à 1.

          Une chaine entre 6 et 12 caractères: .{6,12}
          Une chaine contenant des lettres entre a-z et A-Z: [A-Za-z]
          Une chaine avec des chiffres [0-9]
          il y a ayssi des [:alpha:] etc...
          0 ou plus: .*
          1 ou plus: .+
          0 ou 1: .?
          Reste plus qu'a assembler tout ça :)
          • [^] # Re: sites...

            Posté par  . Évalué à 1.

            (*[A-Z]*[^A-Za-z0-9]*|*[^A-Za-z0-9]*[A-Z]*){6,12}

            p.e. ca ?

            Dam
            • [^] # ou ça

              Posté par  . Évalué à 2.

              if ( !ereg('^([^0-9]+|[^A-Z]+|[^a-z]+|.{0,5}|.{13,})$' , $motDePasse) )
              • [^] # Re: ou ça

                Posté par  (site web personnel) . Évalué à 3.

                Tu obliges à avoir une minuscule ce qui n'est pas demandé par contre il manque le caractère non alphanumérique, je dirais donc plutot :

                if ( !ereg('^([^0-9]+|[^A-Z]+|[A-Za-z0-9]+|.{0,5}|.{13,})$' , $motDePasse) )
            • [^] # Re: sites...

              Posté par  (site web personnel) . Évalué à 2.

              Il y a 2 * dont je ne vois pas ce qu'elles font là (après '(' et '|' ).

              Ton expression interdit d'avoir des minuscules ou des chiffres.

              Pour la longueur, (X){6,12} indique que tu veux X 6 à 12 fois, sauf que les * indiquant un nombre quelconque d'occurences, X à une longueur entre 0 et l'infini, donc le résultat est entre 6*0 et 12*l'infini :-)
    • [^] # Re: sites...

      Posté par  . Évalué à 1.

      http://phpinfo.net(...) peut t'aider.
  • # S'il vous plait

    Posté par  . Évalué à 3.

    messieurs ( mesdames ) les concepteurs de site avec un login/mot de passe, laissez moi mettre ce que je veux comme mot de passe.
    Dans la plupart des cas la faiblesse n'est pas sur le mot de passe mais sur le poste sur lequel est saisi ce mot de passe ( protocole non crypté, gestionnaire de mot de passe local, cookies etc ).
    • [^] # Re: S'il vous plait

      Posté par  (site web personnel) . Évalué à 2.

      Dans ce cas rien ne te dit quels services sont derrieres ce mot de passe et suivant ce service, il est bon de forcer l'utilisation d'un "bon" mot de passe. De toute manière c'est son choix. c'est à toi utilisateur qui souhaite avoir un accès privilégié sur un site de te plier aux règles voulues et réfléchie des concepteurs du site.
    • [^] # Re: S'il vous plait

      Posté par  (site web personnel) . Évalué à 2.

      Dans la meme veine, laissez nous le choix du nick aussi.
      Trop de sites refusent les nick trop court... Marr de ne pas pouvoir m'enregistrer sous mon nom de trois lettre "Uld" (merci linuxfr!)

      Non les login de moins de 4 lettres en sont pas ridicules! :)
  • # kregexpeditor

    Posté par  (site web personnel) . Évalué à 1.

    est un logiciel à tester
    Moi n'y connaissant rien en regexp j'ai reussi a comprendre un peu :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.