SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 254 visiteurs en ce moment

Accueil > Auteurs, authentification et autorisations > Authentification > Modif MDP Site Public > Modif MDP Site Public

Modif MDP Site Public

16 février 2009 – par Taryck – 17 commentaires

2 votes

Plugin facilitant la modification du mot de passe depuis le site public (pour les visiteurs identifiés donc)

Si comme moi vous utilisez le plugin « accès res­treint » avec des visiteurs identifiés [1], vous risquez alors d’avoir la même question :

« Comment je fais pour changer le mot de passe barbare ? »

Ce plugin est la réponse et vous permettra de fabriquer une page de modification de mot de passe.

Zip - 23.6 ko
Le Plugin pret à l’emploi V0.4
Génération GUID incluse

Comment ça marche ?

Ce plugin s’appuie sur la fonctionnalité de « mot de passe » oublié en « court-circuitant » l’étape saisie d’adresse courriel puis clique sur le lien envoyé. Lors de l’appel à la balise #URL_NOUVMDP, la zone « cookie_oubli » est initialisée, ce qui correspond à la fonctionnalité de la page « oubli de mot de passe ». Puis l’URL qu’aurait donné l’envoi de mail est retourné par la balise.

Mise en œuvre

La mise en œuvre est assez simple, une nouvelle balise est créée #URL_NOUVMDP à la quelle vous précisez la page de modification du mot de passe. Cette page est celle dans le courriel d’oublis de mot de passe.
Si vous omettez la page la valeur par défaut sera la page de mot de passe pour SPIP 2.0.3 soit ’spip_pass’ .

Donc #URL_NOUVMDP & #URL_NOUVMDP{’spip_pass’} sont équivalents.

Exemple

Dans mon menu, si l’utilisateur est connecté alors alors on lui propose un lien de modification du mot de passe à l’aide du code suivant :

  1. [(#SESSION{id_auteur}|?{' '})
  2. <a href="[(#URL_PAGE{Modif_MdP_Public})]">Modifier mot de passe</a>
  3. ]

Télécharger

Dans cette page Modif_MdP_Public, j’explique à l’utilisateur son action et lui demande de la confirmer à l’aide du code suivant :

Version SPIP 2.0 balise #SESSION

  1. [Vous êtes connecté en tant que<br />'<b>(#SESSION{'nom'})</b>' <br />
  2. Etes vous sur de vouloir changer de mot de passe ?<br />
  3. <a href="#URL_NOUVMDP">OUI</a>&nbsp;&nbsp;
  4. <a href="#URL_PAGE{sommaire}">NON</a>]

Télécharger

Version SPIP 1.9x balise #AUTEUR_SESSION (dans le plugin)

  1. [Vous êtes connecté en tant que<br />'<b>(#AUTEUR_SESSION{'nom'})</b>' <br />
  2. Etes vous sur de vouloir changer de mot de passe ?<br />
  3. <a href="#URL_NOUVMDP">OUI</a>&nbsp;&nbsp;
  4. <a href="#URL_PAGE{sommaire}">NON</a>]

Télécharger

Notes

N’oubliez surtout pas dans la page où vous utilisez la balise de ce plug-in de déactiver le cache avec :

  1. #CACHE{0}

Historique

Version 0.4 : Génération GUID dans le plug-in pour palier à des cas de bugs quand ’alea_futur’ est vide dans la fiche utilisateur

Version 0.3 : Correction pour fonctionnement 2.0

Zip - 23.4 ko
Le Plugin pret à l’emploi V0.3
OK SPIP 2.0
OK SPIP 1.9

Version 0.2 : Adaptation pour version 1.9 et version 2.0 (KO pour 2.0)

Zip - 23.3 ko
Le Plugin pret à l’emploi V0.2
KO SPIP 2.0
OK SPIP 1.9

Version 0.1 : Pour version 2.0 uniquement

Zip - 22.8 ko
Le Plugin pret à l’emploi V0.1
OK SPIP 2.0
KO SPIP 1.9

Remerciements

Marjorie pour ses tests en version 0.2.


Voir en ligne : Fédération Sportive et Gymnique du Travail

Notes

[1Pour rappel les visiteurs identifiés correspondent à l’option suivante d’activée dans « Configuration du Site » >> « Interactivité » :
Enregistrement obligatoire (les utilisateurs doivent s’abonner en fournissant leur adresse e-mail avant de pouvoir poster des contributions).

Dernière modification de cette page le 1er octobre 2009

Retour en haut de la page

Vos commentaires

  • Le 29 avril 2015 à 13:06, par Emmanuel En réponse à : Modif MDP Site Public

    Bonjour,
    Est-ce que quelqu’un a essayé ce plugin avec SPIP 3 ? Ou aurait une alternative pour permettre aux visiteurs de modifier leur mot de passe ?
    Merci d’avance,

    Répondre à ce message

  • Le 7 mars 2012 à 14:48, par ECO En réponse à : Modif MDP Site Public

    Bonjour,

    Le plugin fonctionne-t-il avec SPIP 2.1.12 ?
    Je n’arrive pas à le faire fonctionner correctement.

    Je peux faire la manip une fois, si je vide le cache avant uniquement. Ensuite, impossible de changer le mot de passe une seconde fois.

    a+

    Répondre à ce message

  • Le 1er octobre 2009 à 19:18, par Taryck En réponse à : Modif MDP Site Public

    Marc,

    A priori la balise n’a pas fonctionnée.
    Peux tu vérifié que l’URL est bien :
    http://[tonsite]/spip.php ?page=spip_pass&p=BAEC.....850D91

    Où BAEC.....850D91 représente le lien avec la fiche utilisateur.
    Si tu as une URL du type http://[tonsite]/spip.php ?page=spip_pass&p=

    c’est que la génération de l’identifiant n’a pas marcher. Utilise la nouvelle version V0.4 que j’avais pas eu le temps de valider ailleur que chez moi.

    Ca devrait peut-etre résoudre ton problème.

    Répondre à ce message

  • Le 1er octobre 2009 à 17:52, par Marc VALLETEAU de mOULLIAC En réponse à : Modif MDP Site Public

    Bonjour, j’ai installé ce plugin sur un spip 209 et n’ai probablement pas compris à quoi il servait !! En effet, en suivant les instructions, lorsque j’arrive sur la page modif_mdp.html que j’ai crée, et inséré le code proposé

    <p>Vous êtes connecté sous le nom de : [(#SESSION{'nom'})]</p>
                            <p>Etes-vous sûr de vouloir modifier votre mot de passe ?</p>
                            <p><a href="#URL_NOUVMDP">OUI</a><p>
                            <p><a href="#URL_PAGE{sommaire}">NON</a><p>

    en cliquant sur ’OUI’, on arrive sur la page de spip, spip_pass, où il est demandé, non pas un nouveau mot de passe, mais de saisir une adresse mail pour recevoir un nouveau mot de passe ...

    Cela fait donc double emploi avec le lien « mot de passe oublié » sur le formulaire d’identification ...

    Ai-je raté quelque chose ? Merci.

    Marc

    Répondre à ce message

  • Le 5 juin 2009 à 22:10, par Boby En réponse à : Modif mdp Site Public

    Bonjour,

    Merci pour ce plugin.
    Je l’ai installé sur l’un de mes sites de test mais si quelqu’un change son mdp, lorsque quelqu’un d’autre veut changer le sien, il a le message :
    Erreur : ce code ne correspond à aucun des visiteurs ayant accès à ce site.
    Si je vide le cache dans l’espace privé ou si je recalcule ma page avant de cliquer sur « chnger de mot de passe », le pb ne se pose pas.

    J’ai mis dans mon fichier auteur.html qui contient le code
    [(#SESSIONid_auteur|==#ID_AUTEUR| ?’ ’)
    profil_adherent.php){id_auteur}>

    Mot de Passe : (le modifier ?)

    ]
    sur la première ligne :
    #CACHE0

    Si par exemple, après avoir vidé le cache, je m’identifie en tant que auteur 1 et que j’appelle la page spip.php ?auteur1, on me propose bien de changer de mot de passe. Je clique dessus et le formulaire apparait pour le changer. Ca marche...
    Si ensuite je me déconnecte en tant qu’auteur 1 et m’identifie en tant qu’auteur2, en allant sur spip.php ?auteur2, on me propose bien de changer de mot de passe mais si je clique dessus, j’ai le message d’érreur ci-dessus.
    Si par contre entre les 2 essais, je vide le cache, ça marche (le formulaire apparait plutôt que le message d’erreur, quand je clique sur « le modifier »)

    C’est comme si il ne prenait pas en compte la commande #CACHE0. Auriez-vous une explication ?

    (A noter que ce pb se pose que j’ai sélectionné la lame du CS « pas de cache » ou pas)

    Merci pour votre aide

    Boby

    PS : je suis en 1.92g

    Répondre à ce message

  • Le 25 mars 2009 à 17:20, par MR En réponse à : Modif mdp Site Public

    Tout d’abord ce que je n’avais pas écrit avant (mais qui est important) : merci pour ce morceau de code.

    J’administre un site d’association gérant des accès restreints où les visiteurs identifiés sont des adhérents. Pour la raison pratique déjà évoquée dans ce forum, mais aussi pour des raisons éthiques et de confidentialité, je pense que les visiteurs doivent avoir le doit de choisir et de changer leur mot de passe. Une « lacune » de spip est donc comblée.

    Sur le sujet qui m’intéressait, je confirme que c’est bien la première ligne trouvée de la table auteurs correspondant à l’adresse électronique fournie qui est utilisée (pas forcément l’auteur le plus ancien).

    Si deux personnes utilisent la même adresse électronique, ça risque donc de créer quelques surprises. Je ne connais pas les raisons qui conduisent à cette « tolérance » de spip sur les adresses électroniques (cette tolérance pourrait être activée ou non par une case à cocher).

    En passant par l’intermédiaire d’un modérateur pour les inscriptions ou en modifiant le formulaire de spip, on peut recopier l’adresse électronique dans le champ login : lorsque deux logins sont identiques lors de la création, spip n’envoie aucun message d’erreur mais la deuxième personne a son login vide et apparait dans la liste avec une petite croix rouge ; c’est une façon d’assurer son unicité.

    Répondre à ce message

  • Le 24 mars 2009 à 19:12, par MR En réponse à : Modif mdp Site Public

    Bon ce n’est certainement pas le bon forum. Il y a un problème de conception (pas du plugin, de spip) ou alors y a un truc qui m’échappe.

    Dans la base des auteurs/visiteurs spip accepte que la même adresse electronique soit utilisée plusieurs fois avec des personnalités différentes.

    Quand la procédure de changement de mot de passe est lancée (qu’elle soit d’origine ou modifiée par ce plugin), elle utilise l’adresse electronique et non le login ; donc : comment différencer les personnalités qui utilisent la même adresse electronique ? (en fait seule la première des personnalités à accès à la procédure)

    • Le 24 mars 2009 à 20:15, par Taryck En réponse à : Modif mdp Site Public => adresse electronique

      pour répondre à :

      Quand la procédure de changement de mot de passe est lancée (qu’elle soit d’origine ou modifiée par ce plugin), elle utilise l’adresse electronique et non le login ; donc : comment différencer les personnalités qui utilisent la même adresse electronique ? (en fait seule la première des personnalités à accès à la procédure)

      Le plugin n’utilise pas du tout l’adresse courriel. En effet on récupère l’ID de l’utilisateur qui est dans sa session. Ceci est fait dans le code suivant :

      Ensuite la zone cookie_oubli de la table auteurs est modifié pour l’utilisateur identifié par son ID. Ceci est fait dans le code suivant :

      Donc le plug-in ne doit prendre en compte qu’un seul et unique utilisateur, celui qui est connecté. Je te laisse faire le teste.

      Tu devrais facilement pouvoir vérifier cela en consultant la table auteurs et ses changements lors que le lien pour changer ton mot de passe apparait car à ce moment la l’opération est déjà faite dans la base.

      Pour répondre à ta question ou du moins te donner des pistes, le lien reçu par mail contient la zone cookie_oubli donc un fois ton mail reçu tu peux aller consulter la table auteur pour identifier de quel auteur on parle.

      Je pense, sans en être sur, que lorsque l’on fait appel à la fonction SPIP d’oubli de mot de passe, il recherche la première entrée. Première au sens de la base de donnée, c’est à dire que cela dépend des index du stockage de la base et que cela peut changer dans le temps. L’idéal serait de faire une boucle et d’envoyer plusieurs mails si plusieurs comptes.

      Taryck.

    Répondre à ce message

  • Le 5 mars 2009 à 09:17, par ? En réponse à : Modif mdp Site Public

    au départ,j’avais juste exec= puis rien dans l’adresse (je suis en 2.0.5), désormais j’ai « exec=pass », on progresse. Par contre, ça me dit « fichier pass introuvable » désormais... arf....

    • Le 5 mars 2009 à 11:15, par Taryck En réponse à : Modif mdp Site Public

      Cela signifie que la modification de la base de donnée n’a pas eu lieu.

      Votre url contient bien un « p=xxxx » ?

      Avez vous un accès à la base de donnée ? phpadmin par exemple ?

      Le plus simple serait d’échanger par mail des captures écrans.

      Taryck.

    • Le 5 mars 2009 à 23:50, par ? En réponse à : Modif mdp Site Public

      oui je confirme, il y a bien un p=.... (plus un long code de chiffres avec un point).

    • Le 6 mars 2009 à 12:47, par Taryck En réponse à : Modif mdp Site Public

      Et les autres questions :

      Avez vous un accès à la base de donnée ? phpadmin par exemple ?

      Le plus simple serait d’échanger par mail (taryck@bensiali.net) des captures écrans.

      Car sinon je ne peux pas analyser le problème...

      Taryck.

    • Le 8 mars 2009 à 20:46, par Bernard Blazin En réponse à : Modif mdp Site Public

      Il y a semble t’il un erreur dans les fonctions du plugin en ligne 81 du moins dans ma version du plugin :
      $p->param[0][2][0]->texte = $p->param[0][2][0]->texte. "&action=".$p->param[0][1][0]->texte;

      A remplacer par
      $p->param[0][2][0]->texte = $p->param[0][2][0]->texte. "&amp;page=".$p->param[0][1][0]->texte;

      Sinon sous SPIP 2.0.3 je ne passais pas :)

    • Le 9 mars 2009 à 10:00, par Taryck En réponse à : Code différent selon les versions

      Le code contient les 2 versions de code.

      1 pour SPIP 1.9.x et une pour SPIP 2.x

      1. if (version_compare($spip_version_code,'2.','<')) {
      2. // cookie_oubli n'existe pas ni alea_future dans $auteur_session
      3. include_spip('base/abstract_sql');
      4. if ( $table_prefix != '' ) $t_prefix = $table_prefix . "_";
      5. $row = sql_fetsel(array('cookie_oubli', 'alea_futur'), $t_prefix . 'auteurs', 'id_auteur='.$auteur_session['id_auteur']);
      6. If ( $row['cookie_oubli'] != '' ) {
      7. $C_Id = $row['cookie_oubli'];
      8. // echo 'cookie_oubli' . $row['cookie_oubli'];
      9. } else {
      10. $C_Id = $row['alea_futur'];
      11. // echo 'alea_futur' . $row['alea_futur'];
      12. sql_updateq($t_prefix . 'auteurs', array('cookie_oubli' => $C_Id), 'id_auteur='.$auteur_session['id_auteur']);
      13. }
      14.  
      15. // SPIP 1.9 ^^
      16. } else {
      17. // SPIP 2.0 vv
      18.  
      19. If ( $auteur_session['cookie_oubli'] != '' ) {
      20. $C_Id = $auteur_session['cookie_oubli'];
      21. echo 'cookie_oubli' . $auteur_session['cookie_oubli'];
      22. } else {
      23. include_spip('base/abstract_sql');
      24. if ( $table_prefix != '' ) $t_prefix = $table_prefix . "_";
      25. $C_Id = $auteur_session['alea_futur'];
      26. echo 'alea_futur' . $auteur_session['alea_futur'];
      27. sql_updateq($t_prefix . 'auteurs', array('cookie_oubli' => $C_Id), 'id_auteur='.$auteur_session['id_auteur']);
      28. }
      29. }

      Télécharger

      A priori il y a quelques problème de détection des versions dans certains cas.
      Avec les versions dont je dispose cela fonctionne, à voir donc avec les versions « plus exotiques ».

      Taryck.

    • Le 10 mars 2009 à 20:42, par Taryck En réponse à : Version 0.3

      Grâce aux tests fait par Marjorie les corrections ont été apporté en version 0.3 pour que cela marche pour SPIP 2.0 et SPIP 1.9

    Répondre à ce message

  • Le 4 mars 2009 à 17:59, par Taryck En réponse à : on a une erreur 404...

    Pour les erreurs 404 qui indiquent que l’url générée n’est pas valide, il faut comparer ses url avec l’url « normale ».

    Pour se faire, utiliser la fonctionalité « oublis de mot de passe » généralement sur la page de login. Une fois le e-mail recu comparer les url (celle dans l’e-mail et celle généré par la balise).


    Pour SPIP 1.9.x l’url devrait etre de type :

    http://www.xxx /spip.php ?p=yyyy.zzz& action=pass


    Pour SPIP 2.0.x l’url devrait etre de type :

    http://www.xxx /spip.php ?p=yyyy.zzz& page=spip_pass


    Donc version 1.9 on utilise action en version 2.0 c’est page

    Si votre url dans l’e-mail est :

    http://www.xxx /spip.php ?p=yyyy.zzz& page=spip_password

    Il vous faudra utiliser la balise : #URL_NOUVMDP{’spip_password’} au lieu de #URL_NOUVMDP

    Répondre à ce message

  • Le 4 mars 2009 à 17:42, par marjorie En réponse à : Modif mdp Site Public

    Arf, ça ne marche pas chez moi... (spip 2.0.5). J’ai réussi à installer la page on l’on doit cliquer sur oui ou non, mais si on clique sur oui... on a une erreur 404...

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Mailsubscribers

    16 janvier 2013 – 274 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes (...)

  • noiZetier v2

    9 novembre 2012 – 36 commentaires

    Le noiZetier offre une interface d’administration permettant d’insérer au choix des éléments modulaires de squelettes (noisettes) et de les ajouter ainsi à ses squelettes. Compatibilité La version 2 du noizetier fonctionne sous SPIP 3. Elle est (...)

  • cirr : plugin « rédacteur restreint »

    29 octobre 2010 – 60 commentaires

    Ce plugin « cirr : rédacteur restreint » permet d’affecter des rubriques aux rédacteurs et modifie les droits afin qu’un rédacteur restreint (ou un administrateur restreint) voit dans l’espace privé uniquement les rubriques qui lui sont affectées (et leur (...)

  • Un retour d’expérience d’utilisation de Formidable

    26 octobre – commentaires

    Il s’agissait de créer un formulaire d’inscription à un évènement modérer les inscriptions dans le privé publier les inscriptions dans le public Nous avons discuté de cette présentation lors de l’apéro SPIP du 15 février 2016 à la Cantine (...)

  • Métas +

    3 décembre – 14 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

Ça spipe par là