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!