Skip to content
Extraits de code Groupes Projets
Valider e2be9181 rédigé par marcimat's avatar marcimat
Parcourir les fichiers

Ne pas mettre de jeton d’url directement en bdd (cas de l’inscription d’auteur...

Ne pas mettre de jeton d’url directement en bdd (cas de l’inscription d’auteur ou du changement de mot de passe) : on le hash avant (g0uZ)
parent 5e27fb3c
Branches
Étiquettes
Aucune requête de fusion associée trouvée
......@@ -348,11 +348,13 @@ function confirmer_statut_inscription($auteur) {
*/
function auteur_attribuer_jeton($id_auteur) {
include_spip('inc/acces');
include_spip('inc/securiser_action');
// s'assurer de l'unicite du jeton pour le couple (email,cookie)
do {
$jeton = creer_uniqid();
sql_updateq('spip_auteurs', ['cookie_oubli' => $jeton], 'id_auteur=' . intval($id_auteur));
} while (sql_countsel('spip_auteurs', 'cookie_oubli=' . sql_quote($jeton)) > 1);
$cle = calculer_cle_action($jeton);
sql_updateq('spip_auteurs', ['cookie_oubli' => $cle], 'id_auteur=' . intval($id_auteur));
} while (sql_countsel('spip_auteurs', 'cookie_oubli=' . sql_quote($cle)) > 1);
return $jeton;
}
......@@ -369,10 +371,17 @@ function auteur_verifier_jeton($jeton) {
return false;
}
include_spip('inc/securiser_action');
$cle = calculer_cle_action($jeton);
// on peut tomber sur un jeton compose uniquement de chiffres, il faut forcer le $type pour sql_quote pour eviter de planter
$desc = sql_fetsel('*', 'spip_auteurs', 'cookie_oubli=' . sql_quote($jeton, '', 'string'));
$desc = sql_fetsel('*', 'spip_auteurs', 'cookie_oubli=' . sql_quote($cle, '', 'string'));
// timing proof
if (verifier_cle_action($jeton, $desc['cookie_oubli'] ?? '')) {
return $desc;
}
return $desc;
return false;
}
/**
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter