From bb30b39bcb9c5e0b738127dc37084ac65d6b5612 Mon Sep 17 00:00:00 2001 From: tofulm Date: Tue, 20 Oct 2020 17:13:29 +0200 Subject: [PATCH] correction mdp --- formulaires/editer_compte_spip.html | 20 +++++++++++++++++--- formulaires/editer_compte_spip.php | 16 +++++++++------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/formulaires/editer_compte_spip.html b/formulaires/editer_compte_spip.html index ddcb123..46c3c49 100644 --- a/formulaires/editer_compte_spip.html +++ b/formulaires/editer_compte_spip.html @@ -31,7 +31,15 @@ <:comptespip:mot_de_passe:> [(#SET{min,#VAL{minlength=}|concat{#ENV{pass_longeur_mini,6}}})] [(#SET{chaine_langue,#VAL{comptespip:champ_password}|_T{#ARRAY{min,#ENV{pass_longeur_mini}}}})] - + +
+ [(#SAISIE{input,new_password} + {type=hidden} + )] + [(#SAISIE{input,new_password_confirmation} + {type=hidden} + )] +
[(#SAISIE{input,password} {type=password} {attributs=#GET{min}} @@ -62,15 +70,21 @@ //var alea = "#ENV{alea}"; ['#champ_password', "#champ_password_confirmation"].forEach((champ)=>{ var pass = $(champ).val(); + $(champ).val(''); - if (!pass.match(/^\{([0-9a-f]{32});([0-9a-f]{32})\}$/i) + if (pass + && !pass.match(/^\{([0-9a-f]{32});([0-9a-f]{32})\}$/i) && !pass.match(/^\{([0-9a-f]{64});([0-9a-f]{64});([0-9a-f]{32});([0-9a-f]{32})\}$/i) && sha256_self_test() // verifions que le hash sha est operationnel ) { //var hash = hex_sha256(alea + pass); var hash = hex_sha256(pass); if ( hash ) { - $('input'+champ).val(hash); + if (champ === "#champ_password") { + $('input#champ_new_password').val(hash); + } else { + $('input#champ_new_password_confirmation').val(hash); + } } } }); diff --git a/formulaires/editer_compte_spip.php b/formulaires/editer_compte_spip.php index e5d12b0..e73ff9b 100644 --- a/formulaires/editer_compte_spip.php +++ b/formulaires/editer_compte_spip.php @@ -20,6 +20,8 @@ function formulaires_editer_compte_spip_charger_dist($id_auteur = 'new', $redir } $valeurs['alea'] = ''; + $valeurs['new_password'] = ''; + $valeurs['new_password_confirmation'] = ''; $valeurs['password'] = ''; $valeurs['password_confirmation'] = ''; $valeurs['pass_longeur_mini'] = _PASS_LONGUEUR_MINI; @@ -37,8 +39,8 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi } // mot de passe - if (_request('password') != _request('password_confirmation')){ - $erreurs['password_confirmation'] = _T('info_passes_identiques'); + if (_request('new_password') != _request('new_password_confirmation')){ + $erreurs['new_password_confirmation'] = _T('info_passes_identiques'); } //if ( strlen(_request('password')) > 0 and strlen(_request('password')) < _PASS_LONGUEUR_MINI ){ @@ -47,11 +49,11 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi // Mais si l'un des deux champs n'est pas rempli, cette erreur prend le dessus if ($id_auteur === 'new') { - if (!_request('password')){ - $erreurs['password'] = _T('info_obligatoire'); + if (!_request('new_password')){ + $erreurs['new_password'] = _T('info_obligatoire'); } - if (!_request('password_confirmation')){ - $erreurs['password_confirmation'] = _T('info_obligatoire'); + if (!_request('new_password_confirmation')){ + $erreurs['new_password_confirmation'] = _T('info_obligatoire'); } } @@ -119,7 +121,7 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir include_spip('action/editer_auteur'); include_spip('inc/acces'); - $password = _request('password'); + $password = _request('new_password'); $update = true; $set = [];