Example #1
0
/**
 * 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);
}
Example #2
0
File: spip.php Project: nursit/SPIP
/**
 * 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
}
Example #3
0
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

}