/**
* Mot de passe oublié (partie 1)
* @author Cam
* @return tpl
*/
protected function main()
{
// Si le membre est déjà connecté
if (is_logged_in()) {
redir(Nw::$lang['common']['already_connected'], false, './');
}
$this->set_title(Nw::$lang['users']['title_lost_pwd']);
$this->set_tpl('membres/oubli_mdp.html');
$this->add_css('forms.css');
// Fil ariane
$this->set_filAriane(Nw::$lang['users']['title_lost_pwd']);
//Si le formulaire a été validé
if (isset($_POST['submit'])) {
// Cette adresse email existe bien sur le site
inc_lib('users/email_exists');
if (email_exists($_POST['mail'])) {
//On récupère les infos du membre
inc_lib('users/get_info_mbr');
$membre_mail = get_info_mbr($_POST['mail'], 'mail');
$lien_password = Nw::$site_url . 'users-13.html?idm=' . $membre_mail['u_id'] . '&ca=' . $membre_mail['u_code_act'];
//On prépare le texte de l'email
$txt_mail = sprintf(Nw::$lang['users']['mail_oubli_pwd'], $membre_mail['u_pseudo'], $lien_password, $lien_password, $lien_password);
@envoi_mail(trim($_POST['mail']), sprintf(Nw::$lang['users']['title_mail_lost_pwd'], Nw::$site_name), $txt_mail);
redir(Nw::$lang['users']['send_mail_lost'], true, './');
} else {
redir(Nw::$lang['users']['email_aucun_mbr'], false, 'users-12.html');
}
}
}
if((getSettingValue('mode_email_ele')=='mon_compte')) {
$sql="UPDATE eleves SET email='$reg_email' WHERE login='".$_SESSION['login']."';";
$update_eleve=mysqli_query($GLOBALS["mysqli"], $sql);
if(!$update_eleve) {$msg.="<br />Erreur lors de la mise à jour de la table 'eleves'.";}
if((getSettingValue('envoi_mail_actif')!='n')&&(getSettingValue('informer_scolarite_modif_mail')!='n')) {
$sujet_mail=remplace_accents("Mise à jour mail ".$_SESSION['nom']." ".$_SESSION['prenom'],'all');
$message_mail="L'adresse email de l'élève ";
$message_mail.=remplace_accents($_SESSION['nom']." ".$_SESSION['prenom'],'all')." est passée à '$reg_email'. Vous devriez mettre à jour Sconet en conséquence.";
$destinataire_mail=getSettingValue('email_dest_info_modif_mail');
if($destinataire_mail=="") {
$destinataire_mail=getSettingValue('gepiSchoolEmail');
}
$tab_param_mail['destinataire']=$destinataire_mail;
if(($destinataire_mail!='')&&(check_mail($destinataire_mail))) {
envoi_mail($sujet_mail, $message_mail, $destinataire_mail, "", "plain", $tab_param_mail);
}
}
}
}
}
}
}
if ($_SESSION['statut'] == "scolarite" OR $_SESSION['statut'] == "professeur" OR $_SESSION['statut'] == "cpe")
if ($user_show_email != $reg_show_email) {
if ($reg_show_email != "no" and $reg_show_email != "yes") $reg_show_email = "no";
$reg = mysqli_query($GLOBALS["mysqli"], "UPDATE utilisateurs SET show_email = '$reg_show_email' WHERE login = '" . $_SESSION['login'] . "'");
if ($reg) {
if($msg!="") {$msg.="<br />";}
$result = pg_query($db, $query) or die("Erreur pgSQL : " . pg_result_error($result));
$row = pg_fetch_array($result);
$message_html = msg_pw($row);
envoi_mail($row['email'], $sujet, $message_html, "");
} elseif (strlen($select) > 0) {
$pairs = explode("&", $select);
foreach ($pairs as $key => $value) {
$id = ltrim($value, "id=");
$where .= "a.id_user='" . $id . "' OR ";
}
$where = rtrim($where, "OR ");
$query = "SELECT a.id_user, lib_cbn, nom, prenom, login, pw, tel_bur, tel_port, email, web, descr, aze.lr,qsd.eee,wxc.refnat,zer.catnat,sdf.lsi,xcv.fsd,ref_lr, ref_eee, ref_lsi, ref_catnat, ref_refnat,ref_fsd\n\t\t\tFROM applications.utilisateur a\n\t\t\tJOIN referentiels.cbn z ON a.id_cbn = z.id_cbn\n\t\t\tJOIN (SELECT id_user, lib as lr FROM applications.utilisateur a JOIN referentiels.user_ref z ON niveau_lr = cd) as aze ON aze.id_user = a.id_user\n\t\t\tJOIN (SELECT id_user, lib as eee FROM applications.utilisateur a JOIN referentiels.user_ref z ON niveau_eee = cd) as qsd ON qsd.id_user = a.id_user\n\t\t\tJOIN (SELECT id_user, lib as refnat FROM applications.utilisateur a JOIN referentiels.user_ref z ON niveau_refnat = cd) as wxc ON wxc.id_user = a.id_user\n\t\t\tJOIN (SELECT id_user, lib as catnat FROM applications.utilisateur a JOIN referentiels.user_ref z ON niveau_catnat = cd) as zer ON zer.id_user = a.id_user\n\t\t\tJOIN (SELECT id_user, lib as lsi FROM applications.utilisateur a JOIN referentiels.user_ref z ON niveau_lsi = cd) as sdf ON sdf.id_user = a.id_user\n\t\t\tJOIN (SELECT id_user, lib as fsd FROM applications.utilisateur a JOIN referentiels.user_ref z ON niveau_fsd = cd) as xcv ON xcv.id_user = a.id_user\n\t\t\tWHERE {$where};\n\t\t\t";
$result = pg_query($db, $query) or die("Erreur pgSQL : " . pg_result_error($result));
while ($row = pg_fetch_array($result)) {
$message_html = msg_pw($row);
envoi_mail($row['email'], $sujet, $message_html, "");
}
}
break;
}
echo "</div>";
//------------------------------------------------------------------------------
echo "</div>";
echo "</div>";
echo "<br /></div>";
echo "<div></body></html>";
pg_close($db);
//------------------------------------------------------------------------------ SI PAS ACCES
} else {
require "../commun/access_denied.php";
}
开发者ID:fedecbn,项目名称:codex,代码行数:31,代码来源:index.php
示例8: action_alea_invalide
/**
* Actions en cas d'attaque CSRF
*
* Construit un message à envoyé à l'administrateur et à enregistrer dans les logs
*
* @param bool $envoyer_mail Un courriel est envoyé à l'administrateur si TRUE
* @see getSettingValue()
* @see envoi_mail()
*/
function action_alea_invalide($envoyer_mail=TRUE) {
// NE pas donner dans le mail les valeurs du token pour éviter des problèmes lors d'une éventuelle capture du mail.
$details="La personne victime de l'attaque était ".$_SESSION['login'].".\n";
$details.="La page cible était ".$_SERVER['PHP_SELF']." avec les variables suivantes:\n";
$details.="Variables en \$_POST:\n";
foreach($_POST as $key => $value) {
$details.=" \$_POST[$key]=$value\n";
}
$details.="Variables en \$_GET:\n";
foreach($_GET as $key => $value) {
$details.=" \$_GET[$key]=$value\n";
}
if($envoyer_mail) {
// Envoyer un mail à l'admin
$envoi_mail_actif=getSettingValue('envoi_mail_actif');
if($envoi_mail_actif!="n") {
$destinataire=getSettingValue('gepiAdminAdress');
if($destinataire!='') {
$sujet="Attaque CSRF";
$message="La variable csrf_alea ne coincide pas avec le gepi_alea en SESSION.\n";
$message.=$details;
envoi_mail($sujet, $message,$destinataire);
}
}
}
if(getSettingValue('csrf_log')=='y') {
$csrf_log_chemin=getSettingValue('csrf_log_chemin');
if($csrf_log_chemin=='') {$csrf_log_chemin="/home/root/csrf";}
$f=fopen("$csrf_log_chemin/csrf_".$_SESSION['login'].".log","a+");
fwrite($f,"Alerte CSRF ".strftime("%a %d/%m/%Y %H:%M:%S")." avec\n");
fwrite($f,"\$_SESSION['gepi_alea']=".$_SESSION['gepi_alea']."\n");
fwrite($f,$details."\n");
fwrite($f,"================================================\n");
fclose($f);
}
}
echo "<span style='color:red' title='Erreur lors du signalement de faute'> KO</span>";
return false;
die;
}
$ajout_headers = "";
$email_utilisateur = retourne_email($_SESSION['login']);
if ($email_utilisateur != '') {
$ajout_headers = "Reply-to: {$email_utilisateur}";
}
// On considère que le signalement est un succès, si le mail est envoyé pour au moins un destinataire
$temoin = false;
while ($lig = mysqli_fetch_object($res)) {
$destinataire = $lig->email;
// On met
$sujet = "[GEPI]: Signalement par " . casse_mot($_SESSION['prenom'], 'majf2') . " " . $_SESSION['nom'];
//if(envoi_mail($sujet, nl2br($signalement_message), $destinataire, $ajout_headers)) {$temoin=true;}
if (envoi_mail($sujet, $signalement_message, $destinataire, $ajout_headers)) {
$temoin = true;
}
}
echo "<span style='color:green' title='Signalement de faute effectué'> OK</span>";
$tab_champs = array('periodes');
$current_group = get_group($signalement_id_groupe, $tab_champs);
if ($current_group["classe"]["ver_periode"][$signalement_id_classe][$signalement_num_periode] == 'P' && ($_SESSION['statut'] == 'administrateur' || $_SESSION['statut'] == 'scolarite')) {
echo " <a href='../bulletin/autorisation_exceptionnelle_saisie_app.php?id_classe={$signalement_id_classe}&periode={$signalement_num_periode}&id_groupe={$signalement_id_groupe}&refermer_page=y' target='_blank' alt='Autorisation exceptionnelle de correction' title='Autorisation exceptionnelle de correction'><img src='../images/icons/wizard.png' width='16' height='16' alt='Autorisation exceptionnelle de correction' title='Autorisation exceptionnelle de correction' /></a>";
}
return $temoin;
} else {
echo "<span style='color:red' title='Erreur lors du signalement de faute: Envoi de mail non actif'> KO</span>";
return false;
}
$titre = "Demande de compte et mot de passe : {$nom} {$prenom}";
//$texte=nl2br("La demande suivante a été formulée par $nom $prenom ($email) (statut déclaré lors de la demande : ".$statut_demandeur.")\nDescription de la demande:\n".preg_replace("/[\\\]{1,}n/","\n",$description));
$description_nettoyee = preg_replace('/(\\\\n)+/', "\n", $description);
$texte = "La demande suivante a été formulée par {$nom} {$prenom} ({$email}) (statut déclaré lors de la demande : " . $statut_demandeur . ")\nDescription de la demande:\n" . $description_nettoyee;
$destinataire = getSettingValue('gepiDemandeCompteMdpAdress');
if ($destinataire == "") {
$destinataire = getSettingValue('gepiAdminAdress');
}
$tab_param_mail['destinataire'] = $destinataire;
$ajout_headers = "";
if (check_mail($email)) {
$ajout_headers = "Reply-To: {$email}\r\n";
$tab_param_mail['replyto'] = $email;
}
if ($destinataire != "") {
envoi_mail($titre, $texte, $destinataire, $ajout_headers, "plain", $tab_param_mail);
}
}
$suite = "y";
} else {
$msg .= "Le captcha n'est pas bon.<br />";
unset($_SESSION['captcha']);
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<META HTTP-EQUIV="Pragma" CONTENT="no-cache" />
请发表评论