Re: [fonctionnement inscription public] : mail de confirmation

Cédric Morin <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
C'est dans la boite
http://core.spip.org/projects/spip/repository/revisions/23266

(avec quelques fioritures pour que le formulaire de login présente une 
erreur propre quand un nouveau essaye de se connecter)

-- 
Cédric



Guillaume Fahrner a écrit :
> Bonjour à tous,
>
> pour résumer et avancer, je peux proposer ce patch pour les points
> suivants :
>
> 1/ l'action confirmer appelle elle aussi la fonction
> confirmer_statut_inscription()
>
> ajout de l'appel à confirmer_statut_inscription() ici :
> https://core.spip.net/projects/spip/repository/entry/spip/ecrire/action/confirmer_inscription.php#L41
>
> /confirmer_statut_inscription($auteur);/
>
> 2/ le login avec statut appelle une autorisation dédiée avec le statut
> en argument, qui par défaut enverra true pour tous les statuts sauf
> 5poubelle mais qu'il sera possible de passer à false pour nouveau aussi,
> via surcharge
>
> ajout de l'autorisation autoriser_auteur_authentifier_dist dans
> ecrire/inc/autoriser.php :
>
> /**
>   * Autorisation de s'authentifier
>   *
>   * Permet à des plugins de modifier le comportement au login de SPIP
> **/
> /function autoriser_auteur_authentifier_dist($faire, $type, $id, $qui,
> $opt) {
>      $statut = sql_getfetsel('statut', 'spip_auteurs', 'id_auteur=' .
> intval($id));
> /
> /    if ( ///$statut/ == '5poubelle' ) return false;
> /
> /    return true;
> }/
>
> vérification de l'autorisation générique ici :
> https://core.spip.net/projects/spip/repository/entry/spip/ecrire/inc/auth.php#L211
>
> /    if ( ! autoriser('auteur_authentifier', 'auteur',
> $row['id_auteur']) ) {
>          return $row;
>      }/
>
>
> J'espère que ça va dans le bon sens, encore merci Cédric pour le temps
> que tu y as consacré.
>
> Si c'est bon pour vous je développe et je test sur mon spip avant
> d'envoyer un patch.
>
>
> g0uZ
>
> Le 28 septembre 2016 à 09:36, Cédric Morin <[email protected]
> <mailto:[email protected]>> a écrit :
>
>     Hello,
>
>     la reflexion est intéressante car en effet il devient de moins en
>     moins sérieux d'envoyer ce mot de passe par email en clair.
>     En ce qui me concerne je serai plutot pour une suppression complète
>     des mots de passe (ou disons que ça serait un mode de secours
>     dérogatoire), l'authentification se faisant systématiquement par
>     l'envoi d'un email avec un lien à cliquer :
>     Login : tu rentre ton email, submit > tu reçois un mail > tu clic et
>     tu est logué
>
>     Tant que le core continue à envoyer le mot de passe par email,
>     difficile de changer le moment où on valide un statut, car cela
>     restreindrait le fonctionnement nominal : la possession du mot de
>     passe implique bien la reception du mail.
>
>     A partir de ce moment là il y a plusieurs façon de faire pour votre
>     plugin :
>
>     - avoir 2 étapes : etape 1 tu ne rentre que l'email et tu reçois un
>     mail avec un lien à cliquer qui te donne accès à un formulaire de
>     choix de mot de passe (pourquoi continuer à demander un login ?)
>
>     Perso c'est ce que je préfèrerai car c'est un processus plus engageant.
>     Au départ l'utilisateur ne rentre qu'un email, c'est le plus simple
>     possible et quand on lui présente le formulaire de choix de mot de
>     passe il est déjà dans le processus d'inscription, il a déjà donné
>     son email et donc il sera moins tenté de s'arrêter en cours.
>     A contrario il est montré que plus un formulaire d'inscription
>     comporte d'informations à remplir, plus il arrête d'utilisateurs.
>
>
>     - inscrire les auteurs en statut 5poubelle au lieu de nouveau, ce
>     qui fait qu'ils ne peuvent pas se loger et le plugin fournit une
>     action de confirmation spécifique qui se charge de valider et
>     activer le compte
>
>
>     Cela dit en reflechissant il est peut-être possible de faire un
>     compromis, en modifiant le core pour que
>     1/ l'action confirmer appelle elle aussi la fonction
>     confirmer_statut_inscription()
>     2/ le login avec statut appelle une autorisation dédiée avec le
>     statut en argument, qui par défaut enverra true pour tous les
>     statuts sauf 5poubelle mais qu'il sera possible de passer à false
>     pour nouveau aussi, via surcharge
>
>     Cela devrait permettre de garder le fonctionnement inchangé pour le
>     core et de faire ce que vous voulez sur le plugin
>
>     --
>     Cédric
>
>
>
>     Guillaume Fahrner a écrit :
>
>         Bonjour à tous,
>
>         comme discuté sur IRC je voulais discuté avec vous d'un problème
>         lié au
>         fonctionnement des inscription coté public sur nos SPIP.
>
>         Actuellement le mail de confirmation reçu par le visiteur contient :
>
>         - un login/mdp
>         - un lien de confirmation
>
>         Le lien de confirmation est actuellement inutile sauf par confort
>         d'utilisation ; l'inscription est confirmée au moment ou
>         l'utilisateur
>         s'authentifie (au niveau du code aussi via
>         confirmer_statut_inscription() appelée dans
>         ecrire/inc/auth.php/auth_init_droits() ).
>
>         Pour des raisons de sécurité, nous avons développé ce plugin avec
>         Rastapopoulos
>         (http://contrib.spip.net/Mot-de-passe-des-l-inscription
>         <http://contrib.spip.net/Mot-de-passe-des-l-inscription>
>         <http://contrib.spip.net/Mot-de-passe-des-l-inscription
>         <http://contrib.spip.net/Mot-de-passe-des-l-inscription>>).
>         Avec, seul le
>         lien de confirmation est envoyé dans le mail, le mdp est choisi à
>         l'inscription.
>
>         Sans m'étendre il est plus sécurisé de laisser l'utilisateur
>         choisir son
>         mot de passe que d'en générer un aléatoire envoyé par mail
>         (HTTPS>SMTP(S)).
>
>         A termes il est envisagé d'intégrer ce fonctionnement dans le
>         core de
>         SPIP. Hors en l'état actuel, avec le plugin il est possible de
>         créer un
>         compte avec une adresse email invalide (!) : le login et le mdp,
>         choisi
>         à l'inscription, permettent de valider le compte en s'authentifiant.
>
>         D'ou mon idée de rendre réellement obligatoire (comme sur tous
>         les sites
>         web) le passage par le lien de confirmation de l'adresse mail.
>
>         Techniquement ca se traduirait par les modifications suivantes :
>
>         - déplacer l'appel à confirmer_statut_inscription() qui est dans
>         ecrire/inc/auth.php/auth_init_droits()  (appelé a chaque login)
>           dans
>         ecrire/action/confirmer_inscription.php
>         - modifier auth_init_droits() pour refuser l'authentification pour
>         $row['statut'] == 'nouveau'
>
>         Est ce envisageable ?
>
>         D'avance merci pour le temps que vous y consacrerez :-)
>
>         g0uZ@root-me
>
>         _______________________________________________
>         liste: http://listes.rezo.net/mailman/listinfo/spip-dev
>         <http://listes.rezo.net/mailman/listinfo/spip-dev>
>         doc: http://www.spip.net/
>         dev: http://trac.rezo.net/trac/spip/
>         <http://trac.rezo.net/trac/spip/>
>         irc://irc.freenode.net/spip <http://irc.freenode.net/spip>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.