Skip to content
Extraits de code Groupes Projets

fix: robustesse de la procédure de changement de mot de passe

Fusionnées cerdic requested to merge gh-349662a8/4862/unknown/refs/pull/4862/head into master
2 fichiers
+ 12
6
Comparer les modifications
  • Côte à côte
  • En ligne
Fichiers
2
@@ -21,13 +21,14 @@ function retrouve_auteur($id_auteur, $jeton = '') {
return sql_fetsel(
'*',
'spip_auteurs',
array('id_auteur=' . intval($id_auteur), "statut<>'5poubelle'", "pass<>''")
array('id_auteur=' . intval($id_auteur), "statut<>'5poubelle'", "pass<>''", "login<>''")
);
} elseif ($jeton) {
include_spip('action/inscrire_auteur');
if ($auteur = auteur_verifier_jeton($jeton)
and $auteur['statut'] <> '5poubelle'
and $auteur['pass'] <> ''
and $auteur['login'] <> ''
) {
return $auteur;
}
@@ -140,7 +141,7 @@ function formulaires_mot_de_passe_traiter_dist($id_auteur = null, $jeton = null)
$res = array('message_erreur' => $err);
} else {
auteur_effacer_jeton($id_auteur);
// Par défaut, on rappelle de s'identifier avec son email s'il existe
// et qu'il n'est PAS utilisé par quelqu'un d'autre
if (
@@ -165,8 +166,13 @@ function formulaires_mot_de_passe_traiter_dist($id_auteur = null, $jeton = null)
'<br />' . _T('pass_rappel_login', array('login' => $identifiant));
include_spip('inc/auth');
$row = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
auth_loger($row);
$auth = auth_identifier_login($row['login'], $oubli);
if (!is_array($auth)) {
spip_log("Erreur identification ".$row['login']." après changement de mot de passe: $auth", _LOG_ERREUR);
}
elseif ($auth['id_auteur'] == $id_auteur) {
auth_loger($auth);
}
}
}
Chargement en cours