Fonction spip_affiche_mot_de_passe_masque()

Ne pas afficher les mots de passe est une mesure de sécurité élémentaire. Toutefois, dans certains environnement de coopération, donner une visibilité partielle sur les mots de passe facilite beaucoup l’assistance aux utilisateurs, pour les personnes devant les aider.

La fonction spip_affiche_mot_de_passe_masque() doit être appelée par les plugins lorsqu’ils veulent afficher une information à propos d’un mot de passe : le paramétrage permet de définir si la fonction renvoie le mot de passe en clair, partiellement obfusqué ou totalement.

Cette fonction reçoit
- le mot de passe en premier argument, ce qui permet de l’utiliser comme filtre
- un booléen qui indique si on veut afficher partiellement le mot de passe lorsqu’il fait plus de 8 caractères (s’il fait moins de 8 caractères, dans tous les cas il est entièrement obfusqué)
- un entier, qui représente le pourcentage de visibilité donné au mot de passe. Si ce dernier n’est pas fourni, c’est la constante _SPIP_AFFICHE_MOT_DE_PASSE_MASQUE_PERCENT qui est utilisée.

Cas particuliers
- Pour les mots de passe les plus courts (moins de 8 caractères), aucun caractère n’est affiché en clair
- Lorsque la valeur de la constante dépasse 100, le mot de passe entier est affiché en clair

Exemple

Cet exemple est inspiré du code du plugin facteur pour le paramétrage du SMTP : la fonction est appelée en tant que filtre ; le webmestre bénéficie du paramétrage global du site via la constante pour voir en partie les mots de passe ; pour les autres utilisateurs, les mots de passe sont entièrement obfusqués.

<input
  type="text" name="#GET{name}" class="text" 
  value="#ENV*{#GET{name},#GET{defaut}}" id="#GET{name}" 
 [placeholder="(#ENV**{motdepasse}
    |spip_affiche_mot_de_passe_masque{#AUTORISER{webmestre}}
    |attribut_html)"] 
/>

Auteur JLuc Publié le :