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.

updated on 2 October 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

    Reply to this 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.

    Reply to this 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/

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom