From 81bf469c998aff4ec2aa938fb8eee2f20920ed2b Mon Sep 17 00:00:00 2001 From: tofulm Date: Thu, 13 Aug 2020 23:33:12 +0200 Subject: [PATCH] si pas de js, alors mdp < 50 caracteres => on crypte en php --- formulaires/editer_compte_spip.php | 33 ++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) 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(); + } + } }