Re: [fonctionnement inscription public] : mail de confirmation

Guillaume Fahrner <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <CA+ZTSEgA5_P5BbiZhTx-4DwSRisH7fzQZ0X7HXcxnSzs-WNF8w@mail.gmail.com>
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]> 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>). 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
>> doc: http://www.spip.net/
>> dev: http://trac.rezo.net/trac/spip/
>> irc://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.