diff --git a/formulaires/editer_compte_spip.php b/formulaires/editer_compte_spip.php index 0453994..afaef32 100644 --- a/formulaires/editer_compte_spip.php +++ b/formulaires/editer_compte_spip.php @@ -131,16 +131,37 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir $login = strtolower(str_replace($search, $replace, _request('nom'))); $login .= '_'.$id_auteur; $set['login'] = $login; - $set['pass'] = $password; - $set['alea_actuel'] = ""; - $set['alea_futur'] = creer_uniqid(); $set['statut'] = $mode; - } else { - if ($password) { - $set['pass'] = $password; + if (strlen($password) < 50) { + include_spip('inc/acces'); + include_spip('auth/sha256.inc'); + $alea_actuel = creer_uniqid(); + $pass = spip_sha256($alea_actuel . $password); + $set['pass'] = $pass; + $set['alea_actuel'] = $alea_actuel; + $set['alea_futur'] = $alea_actuel; + } else { + $set['pass'] = $password; $set['alea_actuel'] = ""; $set['alea_futur'] = creer_uniqid(); } + } else { + if ($password) { + // si le password fait moins de 50 caracteres, on peut penser que le javascript n'a pas fonctionné, on crypte alors le mdp + if (strlen($password) < 50) { + include_spip('inc/acces'); + include_spip('auth/sha256.inc'); + $alea_actuel = creer_uniqid(); + $pass = spip_sha256($alea_actuel . $password); + $set['pass'] = $pass; + $set['alea_actuel'] = $alea_actuel; + $set['alea_futur'] = $alea_actuel; + } else { + $set['pass'] = $password; + $set['alea_actuel'] = ""; + $set['alea_futur'] = creer_uniqid(); + } + } }