/** * Verification de la validite d'un mot de passe pour le mode d'auth concerne * c'est ici que se font eventuellement les verifications de longueur mini/maxi * ou de force. * * @param string $new_pass * @param string $login * le login de l'auteur : permet de verifier que pass et login sont differents * meme a la creation lorsque l'auteur n'existe pas encore * @param int $id_auteur * si auteur existant deja * @param string $serveur * @return string * message d'erreur si login non valide, chaine vide sinon */ function auth_ldap_verifier_pass($login, $new_pass, $id_auteur = 0, $serveur = '') { include_spip('auth/spip'); return auth_spip_verifier_pass($login, $new_pass, $id_auteur, $serveur); }
/** * Modifier le mot de passe de l'auteur sur le serveur concerne * en s'occupant du hash et companie * @param string $login * @param string $new_pass * @param int $id_auteur * @param string $serveur * @return bool */ function auth_spip_modifier_pass($login, $new_pass, $id_auteur, $serveur = '') { if (is_null($new_pass) or auth_spip_verifier_pass($login, $new_pass, $id_auteur, $serveur) != '') { return false; } if (!($id_auteur = intval($id_auteur)) or !sql_fetsel('login', 'spip_auteurs', 'id_auteur=' . intval($id_auteur), '', '', '', '', $serveur)) { return false; } $c = array(); include_spip('inc/acces'); include_spip('auth/sha256.inc'); $htpass = generer_htpass($new_pass); $alea_actuel = creer_uniqid(); $alea_futur = creer_uniqid(); $pass = _nano_sha256($alea_actuel . $new_pass); $c['pass'] = $pass; $c['htpass'] = $htpass; $c['alea_actuel'] = $alea_actuel; $c['alea_futur'] = $alea_futur; $c['low_sec'] = ''; include_spip('action/editer_auteur'); auteur_modifier($id_auteur, $c, true); // manque la gestion de $serveur return true; // on a bien modifie le pass }
function auth_spip_modifier_pass($login, $new_pass, $id_auteur, $serveur=''){ if (is_null($new_pass) OR auth_spip_verifier_pass($login, $new_pass,$id_auteur,$serveur)!='') return false; if (!$id_auteur = intval($id_auteur) OR !$auteur = sql_fetsel('login','spip_auteurs','id_auteur='.intval($id_auteur),'','','','',$serveur)) return false; $c = array(); include_spip('inc/acces'); include_spip('auth/sha256.inc'); $htpass = generer_htpass($new_pass); $alea_actuel = creer_uniqid(); $alea_futur = creer_uniqid(); $pass = _nano_sha256($alea_actuel.$new_pass); $c['pass'] = $pass; $c['htpass'] = $htpass; $c['alea_actuel'] = $alea_actuel; $c['alea_futur'] = $alea_futur; $c['low_sec'] = ''; include_spip('inc/modifier'); revision_auteur($id_auteur, $c); // manque la gestion de $serveur }