Attachment:
pass2md5.php
Description: Binary data
ajout du codage des mots de passe dans galette-sport
par gagou9 - gagou9@xxxxxxxxx
for english poeple : ouvrir means open, chercher means find, remplacer par
means replace by and fermer means close!
[ouvrir] ./install/index.php
[chercher]
$default = "INSERT INTO ".$_POST["install_dbprefix"]."preferences VALUES
(19,'pref_admin_pass',".$DB->qstr($_POST["install_adminpass"]).")";
[remplacer par] (on rajoute md5([...]) )
$default = "INSERT INTO ".$_POST["install_dbprefix"]."preferences VALUES
(19,'pref_admin_pass',".$DB->qstr(md5($_POST["install_adminpass"])).")";
[fermer] ./install/index.php
[ouvrir] ./install/sql/mysql.sql
[chercher]
mdp_adh varchar(20) NOT NULL default '',
[remplacer par]
mdp_adh varchar(32) NOT NULL default '',
[fermer] ./install/sql/mysql.sql
[ouvrir] ./install/sql/pgsql.sql
[chercher]
mdp_adh character varying(20) DEFAULT '' NOT NULL,
[remplacer par]
mdp_adh character varying(32) DEFAULT '' NOT NULL,
[fermer] ./install/sql/pgsql.sql
[ouvrir] ./ajouter_adherent.php
[chercher]
elseif ($fieldname=="mdp_adh")
{
if (strlen($post_value)<4)
$error_detected .= "<LI>"._T("- Le mot de passe doit
être composé d'au moins 4 caractères !")."</LI>";
else
$value = $DB->qstr($post_value, true);
}
[remplacer par] (on rajoute md5([...]) et on change la détéction de la taille)
elseif ($fieldname=="mdp_adh")
{
if (strlen($post_value)==0) { // si le mdp n'a pas été renseigné, il
doit être inchangé
// du coup c'est un peu relou... m'enfin
$req = "SELECT mdp_adh FROM ".PREFIX_DB."adherents WHERE
id_adh='".$id_adh."'";
$result = &$DB->Execute($req);
$mdp_adherent = $result->fields[0];
$value = $DB->qstr($mdp_adherent, true);
}
else {
if (strlen($post_value)<4) //si le mdp a ete renseigne (donc
nouveau mdp)
$error_detected .= "<LI>"._T("- Le mot de passe doit
être composé d'au moins 4 caractères !")."</LI>";
else
$value = $DB->qstr(md5($post_value), true);
}
}
[chercher]
<TH id="libelle" <? echo $mdp_adh_req ?>><? echo _T("Mot de passe
:"); ?>
[remplacer par]
<TH id="libelle" <? echo $mdp_adh_req ?>><? echo _T("<b>Nouveau</b>
mot de passe :"); ?>
[chercher]
<TD><INPUT type="text" name="mdp_adh" value="<? echo $mdp_adh; ?>"
maxlength="<? echo $mdp_adh_len; ?>">
[remplacer par]
<TD><INPUT type="text" name="mdp_adh" value="" maxlength="<? echo
$mdp_adh_len; ?>">
[fermer] ./ajouter_adherent.php
[ouvrir] ./voir_adherent.php
[chercher]
<TD bgcolor="#EEEEEE"><? echo $login_adh; ?></TD>
<TD bgcolor="#DDDDFF"><B><? echo _T("Mot de passe :");
?></B> </TD>
<TD bgcolor="#EEEEEE"><? echo $mdp_adh; ?></TD>
</TR>
[remplacer par]
<TD bgcolor="#EEEEEE" colspan="3"><? echo $login_adh; ?></TD>
</TR>
[fermer] ./voir_adherent.php
[ouvrir] ./index.php
[chercher]
if ($_POST["login"]==PREF_ADMIN_LOGIN &&
$_POST["password"]==PREF_ADMIN_PASS)
[remplacer par]
if ($_POST["login"]==PREF_ADMIN_LOGIN &&
md5($_POST["password"])==PREF_ADMIN_PASS)
[chercher]
AND mdp_adh=" . txt_sqls($_POST["password"]);
[remplacer par]
AND mdp_adh=" . txt_sqls(md5($_POST["password"]));
[fermer] ./index.php
[ouvrir] ./lostpassword.php
[chercher]
if( $email_adh!="" )
{
$req = "SELECT mdp_adh from ".PREFIX_DB."adherents
where login_adh=".txt_sqls($login_adh);
$result = &$DB->Execute($req);
if (!$result->EOF)
$mdp_adh = $result->fields[0];
$mail_subject = _T("Vos identifiants Galette");
$mail_text = _T("Bonjour,")."\n";
$mail_text .= "\n";
$mail_text .= _T("Quelqu'un (sûrement vous) a demandé
que l'on vous renvoie votre mot de passe.")."\n";
$mail_text .= "\n";
$mail_text .= _T("Veuillez vous identifier à cette
adresse :")."\n";
$mail_text .=
"http://".$_SERVER["SERVER_NAME"].dirname($_SERVER["REQUEST_URI"])."\n";
$mail_text .= "\n";
$mail_text .= _T("Identifiant :")."
".custom_html_entity_decode($login_adh, ENT_QUOTES)."\n";
$mail_text .= _T("Mot de passe :")."
".custom_html_entity_decode($mdp_adh, ENT_QUOTES)."\n";
$mail_text .= "\n";
$mail_text .= _T("A très bientôt !")."\n";
$mail_text .= "\n";
$mail_text .= _T("(ce mail est un envoi
automatique)")."\n";
$mail_headers = "From: ".PREF_EMAIL_NOM."
<".PREF_EMAIL.">\n";
if( mail($email_adh,$mail_subject,$mail_text,
$mail_headers) ) {
dblog(_T("Mot de passe envoyé. Login :")."
\"" . $login_adh . "\"");
$warning_detected = _T("Mot de passe envoyé.
Login :")." \"" . $login_adh . "\"";
$password_sent = true;
}else{
dblog(_T("Un problème est survenu dans
l'envoi du mot de passe pour le compte :")." \"" . $login_adh . "\"");
$warning_detected = _T("Un problème est
survenu dans l'envoi du mot de passe pour le compte :")." \"" . $login_adh .
"\"";
}
}
[remplacer par]
if( $email_adh!="" )
{
//on génère un nouveau mot de passe
// Ensemble des caractères utilisés pour le créer
$cars="azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN0123456789";
// Combien on en a mis au fait ?
$wlong=strlen($cars);
// Au départ, il est vide ce mot de passe ;)
$nouv_pass="";
// Combien on veut de caractères pour ce mot de passe
?
$taille=8;
// On initialise la fonction aléatoire
srand((double)microtime()*1000000);
// On boucle sur le nombre de caractères voulus
for($i=0;$i<$taille;$i++){
// Tirage aléatoire d'une valeur entre 1 et
wlong
$wpos=rand(0,$wlong-1);
// On cumule le caractère dans le mot de passe
$nouv_pass=$nouv_pass.substr($cars,$wpos,1);
// On continue avec le caractère suivant à
générer
}
$mdp_adh = $nouv_pass;
// et on mets le nouveau pass dans la base de donnees
$requete = "UPDATE ".PREFIX_DB."adherents SET
mdp_adh='".md5($mdp_adh)."' WHERE login_adh='".$login_adh."'";
$res = $DB->Execute($requete);
if (!$res) {
dblog(_T("Un problème est survenu dans la
modification du mot de passe pour le compte :")." \"" . $login_adh . "\"");
$warning_detected = _T("Un problème est
survenu dans la modification du mot de passe pour le compte :")." \"" .
$login_adh . "\"";
}
else {
$mail_subject = _T("Vos identifiants
Galette");
$mail_text = _T("Bonjour,")."\n";
$mail_text .= "\n";
$mail_text .= _T("Quelqu'un (sûrement vous) a
demandé que l'on vous envoie un nouveau mot de passe.")."\n";
$mail_text .= "\n";
$mail_text .= _T("Ce mot de passe a été
généré aléatoirement, vous pouvez le changer en modifiant votre fiche
adhérant.")."\n";
$mail_text .= "\n";
$mail_text .= _T("Veuillez vous identifier à
cette adresse :")."\n";
$mail_text .=
"http://".$_SERVER["SERVER_NAME"].dirname($_SERVER["REQUEST_URI"])."\n";
$mail_text .= "\n";
$mail_text .= _T("Identifiant :")."
".custom_html_entity_decode($login_adh, ENT_QUOTES)."\n";
$mail_text .= _T("Mot de passe :")."
".custom_html_entity_decode($mdp_adh, ENT_QUOTES)."\n";
$mail_text .= "\n";
$mail_text .= _T("A très bientôt !")."\n";
$mail_text .= "\n";
$mail_text .= _T("(ce mail est un envoi
automatique)")."\n";
$mail_headers = "From: ".PREF_EMAIL_NOM."
<".PREF_EMAIL.">\n";
if(
mail($email_adh,$mail_subject,$mail_text, $mail_headers) ) {
dblog(_T("Mot de passe envoyé. Login
:")." \"" . $login_adh . "\"");
$warning_detected = _T("Mot de passe
envoyé. Login :")." \"" . $login_adh . "\"";
$password_sent = true;
}else{
dblog(_T("Un problème est survenu
dans l'envoi du mot de passe pour le compte :")." \"" . $login_adh . "\"");
$warning_detected = _T("Un problème
est survenu dans l'envoi du mot de passe pour le compte :")." \"" .
$login_adh . "\"";
}
}
}
[chercher]
<INPUT type="submit" name="lostpasswd" value="<? echo _T("Envoyez-moi
mon mot de passe"); ?>">
[remplacer par]
<INPUT type="submit" name="lostpasswd" value="<? echo _T("Envoyez-moi
un nouveau mot de passe"); ?>">
[fermer] ./lostpassword.php
(english down)
voilà!
si les fichiers que vous avez modifié sont sur un galette non encore
installé, alors c'est terminé!
si les modifications ont été faîtes sur un galette déjà installé, il faut
maintenant
encoder tous les mots de passe (admin et adhérents) qui sont stoqués dans la
base de donnée!
pour ce faire il faut lancer le fichier pass2md5.php !
mais ATTENTION il ne faut le lancer QU'UNE SEULE FOIS !!
si jamais on le lance une deuxieme fois (parce que par exemple, le mdp admin
a bien été changé,
mais pas les pass adhérents) ben il mets les md5 des md5.... donc bon c'est
moyen!
tchops!
ENGLISH
hoppa!
if the files you modified were on a non-installed galette, you have finished
installing this "mod"
if modifications has been made on an already installed and setuped version of
galette,
you need to encode all passwords stocked in database to md5
just run ONE TIME the pass2md5.php file
if it fails during encoding passwords, look at what have been well done, and
modify pass2md5.php to prevent re-encoding!
bye!