Mot de passe complexe

Oblige les auteurs à choisir des mots de passe plus complexes.

Lors de changement de mot de passe d’un compte auteur, on exige un mot de passe plus complexe.

Personnalisation

Par défaut, le plugin réclame des mots de passe long d’au moins 6 caractères contenant au minimum 1 minuscule, 1 majuscule, 1 chiffre et un 1 caractère spécial.

Vous pouvez définir ces constantes vous-même, ajouter dans votre fichier de config/mes_options.php

<?php
// mots de passe
define('_PASS_LONGUEUR_MINI', '12');      // longueur minimale -  défaut: 6
define('_MOTCOMPLEXE_MINUSCULE', '5');    // nb de minuscules  - défaut: 1
define('_MOTCOMPLEXE_MAJUSCULE', '2');    // nb de majuscules  - défaut: 1
define('_MOTCOMPLEXE_CHIFFRE', '1');      // nb de chiffres  - défaut: 1
define('_MOTCOMPLEXE_SPECIAL', '0');      // nb de caractères spéciaux  - défaut: 1

Dans cet exemple, on veut un mot de passe d’au minimum 12 caractères comprenant au minimum 5 minuscules, 2 majuscules et 1 chiffre et il est facultatif d’ajouter un caractère spécial (valeur « 0 »).

Limites

Le plugin ne s’applique pas sur les mots de passe déjà enregistrés en base ni sur le compte administrateur défini au moment de la création du site.

Mais si vous utilisez, par exemple, en complément le plugin Mots de passe expirables, les utilisateurs seront obligés de renouveler leur mot de passe avec les nouvelles contraintes.

Alternatives

Pour les personnes qui ne souhaitent pas utiliser ce plugin, on peut simplement modifier la constante de SPIP _PASS_LONGUEUR_MINI, qui définit la longueur minimale du mot de passe.

Dernière modification de cette page le 13 février 2019

Discussion

3 discussions

  • 2

    Bonjour erational,

    Merci pour cet excellent plugin.

    J’avais l’habitude d’utiliser le très pratique plugin :

    • Plugin Mot de Passe Compliqué
      Vérifier la force des mots de passe
      2 novembre 2007 – par b_b, mortimer
      https://contrib.spip.net/Plugin-Mot-de-Passe-Complique

      qui indiquait la force d’un mot de passe et avec lequel on pouvait configurer le plugin pour spécifier une longueur minimale recommandée.

    Pourriez-vous envisager d’intégrer ces deux fonctionnalités dans votre excellent plugin « Mot de passe complexe ».

    Bien cordialement

    FDG

    Répondre à ce message

  • 3

    Salut,

    merci pour ce plugin que je commence à utiliser pour sécuriser mes sites.

    2 retours :

    • _PASS_LONGUEUR_MINI ne semble pas pris en compte dans mon cas, ni dans le label du champs mot de passe, ni dans la vérification (je peux mettre des mots de passe de 6 caractères). Les autres define sont pris en compte eux.
    • dans le label du mot de passe, si on a mis _MOTCOMPLEXE_SPECIAL à 0, « (Le mot de passe doit contenir au moins 6 caractères dont 1 minuscule(s), 1 majuscules(s), 1 chiffes(s) et 0 caractère(s) spéciaux.) » alors qu’on peut en mettre. Le mieux serait peut être de ne pas préciser pour les caractères spéciaux.

    Mes define :

    define('_PASS_LONGUEUR_MINI', '9');
    define('_MOTCOMPLEXE_MINUSCULE', '1');
    define('_MOTCOMPLEXE_MAJUSCULE', '1');
    define('_MOTCOMPLEXE_CHIFFRE', '1');
    define('_MOTCOMPLEXE_SPECIAL', '0');

    Et je suis sous SPIP 3.1.1...

    jean marie

    • dans le label du mot de passe, si on a mis _MOTCOMPLEXE_SPECIAL à 0, « (Le mot de passe doit contenir au moins 6 caractères dont 1 minuscule(s), 1 majuscules(s), 1 chiffes(s) et 0 caractère(s) spéciaux.) » alors qu’on peut en mettre. Le mieux serait peut être de ne pas préciser pour les caractères spéciaux.

      La phrase est explicite "Doit contenir au moins.../...0 caractères spéciaux", cela signifie que ce n’est pas obligatoire mais n’empêche pas d’en mettre.

    • Il faudrait une chaîne de langue avec des parties conditionnelles mais c’est compliqué car il faut gérer aussi le multilinguisme et chaque langue a une syntaxe différente.

      Vous pouvez simplement surcharger la chaîne de langue avec vos préférences.

       'info_passe_trop_court' => 'Le mot de passe doit contenir au moins @nb@ caractères dont @nb_min@ minuscule(s),  @nb_maj@ majuscules(s), @nb_int@ chiffes(s) et @nb_spe@ caractère(s) spéciaux.',

      Si quelqu’un a une meilleure idée, n’hésitez pas à me la soumettre.

    • Salut,

      merci pour les retours, je vais faire ça...

      Pour ce qui est de _PASS_LONGUEUR_MINI non pris en compte, j’ai un peu avancé : en fait, je suis sur du SPIP mutualisé.
      Quand je surcharge _PASS_LONGUEUR_MINI depuis mes_options.php de la racine, il n’est pas pris en compte (alors que les autres constantes, oui) mais quand je surcharge depuis mes_options.php du site mutualisé, c’est bien pris en compte.

    Répondre à ce message

  • Hello,
    Super plugin !
    Un petit souci : dans l’email de confirmation, 2 chaînes de langues dépendent du plugin notifications, mais ce plugin n’est pas une dépendance obligatoire.
    Donc quand il n’est pas installé, ça ne va pas.
    Cf. commit 97870 : http://zone.spip.org/trac/spip-zone/changeset/97870/

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom