$tab_enfants=get_enfants_from_resp_login($_SESSION['login'],'avec_classe'); } if(!isset($tab_enfants)) { echo "<p style='color:red'>Vous n'avez semble-t-il aucun élève en responsabilité.</p>\n"; tentative_intrusion(1, "Tentative d'accès au module Discipline sans élève en responsabilité."); require("../lib/footer.inc.php"); die(); } for($i=0;$i<count($tab_enfants);$i+=2) { //echo "\$tab_enfants[$i]=".$tab_enfants[$i]."<br />"; $tab_ele_login[]=$tab_enfants[$i]; } if((isset($ele_login))&&(!in_array($ele_login,$tab_ele_login))) { echo "<p style='color:red'>Tentative d'accès au module Discipline pour un élève dont vous n'êtes pas responsable.</p>\n"; tentative_intrusion(1, "Tentative d'accès au module Discipline pour un élève dont il n'est pas responsable : $ele_login"); unset($ele_login); } if(!isset($ele_login)) { if(count($tab_ele_login)==1) { $ele_login=$tab_ele_login[0]; } else { echo "<p>Choisissez l'enfant dont vous souhaitez consulter les incidents :<br />\n"; for($i=0;$i<count($tab_enfants);$i+=2) { echo "<a href='".$_SERVER['PHP_SELF']."?ele_login="******"'>".$tab_enfants[$i+1]."</a><br />\n"; } require("../lib/footer.inc.php"); die();
if (!is_numeric($id_classe)) { tentative_intrusion("3", "Changement de la valeur de id_classe pour un type non numérique, en changeant la valeur d'un champ 'hidden' d'un formulaire."); echo "Erreur."; require "../lib/footer.inc.php"; die; } // On teste si le professeur a le droit d'accéder à cette classe if ($_SESSION['statut'] == "professeur" and getSettingValue("GepiAccesMoyennesProfTousEleves") != "yes" and getSettingValue("GepiAccesMoyennesProfToutesClasses") != "yes") { $test = mysqli_num_rows(mysqli_query($GLOBALS["mysqli"], "SELECT jgc.* FROM j_groupes_classes jgc, j_groupes_professeurs jgp WHERE (jgp.login='******'login'] . "' AND jgc.id_groupe = jgp.id_groupe AND jgc.id_classe = '" . $id_classe . "')")); if ($test == "0") { if (!is_pp($_SESSION['login'], $id_classe) || !getSettingAOui('GepiAccesReleveProfP')) { $classe = get_nom_classe($id_classe); if ($id_classe_recu_en_post == "y") { tentative_intrusion("3", "Tentative d'accès par un prof à une classe ({$classe}) dans laquelle il n'enseigne pas, sans en avoir l'autorisation. Tentative avancée : changement des valeurs de champs de type 'hidden' du formulaire."); } else { tentative_intrusion("3", "Tentative d'accès par un prof à une classe ({$classe}) dans laquelle il n'enseigne pas, sans en avoir l'autorisation. Changement des valeurs de id_classe dans la barre d'adresse."); } //echo "Vous ne pouvez pas accéder à cette classe car vous n'y êtes pas professeur !"; //require ("../lib/footer.inc.php"); header("Location: ../accueil.php?msg=Vous n'êtes pas professeur de la classe de {$classe}."); die; } } } } if (!isset($id_classe) || !isset($num_periode)) { header("Location: index2.php?msg=" . rawurlencode('Choisissez une classe')); die; } //debug_var(); check_token();
if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } if(mb_strtolower(mb_substr(getSettingValue('active_mod_discipline'),0,1))!='y') { $mess=rawurlencode("Vous tentez d accéder au module Discipline qui est désactivé !"); tentative_intrusion(1, "Tentative d'accès au module Discipline qui est désactivé."); header("Location: ../accueil.php?msg=$mess"); die(); } require('sanctions_func_lib.php'); $msg=""; $id_sanction=isset($_POST['id_sanction']) ? $_POST['id_sanction'] : (isset($_GET['id_sanction']) ? $_GET['id_sanction'] : NULL); $lieu=isset($_GET['lieu']) ? $_GET['lieu'] : NULL; $date=isset($_GET['date']) ? $_GET['date'] : NULL; $heure=isset($_GET['heure']) ? $_GET['heure'] : NULL; $duree=isset($_GET['duree']) ? $_GET['duree'] : NULL;
if ($_SESSION['statut'] == "responsable" and getSettingValue("GepiAccesEquipePedaParent") != "yes" or $_SESSION['statut'] == "eleve" and getSettingValue("GepiAccesEquipePedaEleve") != "yes" or $_SESSION['statut'] != "responsable" and $_SESSION['statut'] != "eleve") { tentative_intrusion(1, "Tentative d'accès à l'équipe pédagogique sans y être autorisé."); echo "<p>Vous n'êtes pas autorisé à visualiser cette page.</p>"; require "../lib/footer.inc.php"; die; } // Et une autre vérification de sécurité : est-ce que si on a un statut 'responsable' le $login_eleve est bien un élève dont le responsable a la responsabilité if ($login_eleve != null and $_SESSION['statut'] == "responsable") { $sql = "(SELECT e.login " . "FROM eleves e, responsables2 re, resp_pers r " . "WHERE (" . "e.login = '******' AND " . "e.ele_id = re.ele_id AND " . "re.pers_id = r.pers_id AND " . "r.login = '******'login'] . "' AND (re.resp_legal='1' OR re.resp_legal='2')))"; if (getSettingAOui('GepiMemesDroitsRespNonLegaux')) { $sql .= " UNION (SELECT e.login " . "FROM eleves e, responsables2 re, resp_pers r " . "WHERE (" . "e.login = '******' AND " . "e.ele_id = re.ele_id AND " . "re.pers_id = r.pers_id AND " . "r.login = '******'login'] . "' AND re.resp_legal='0' AND re.acces_sp='y'))"; } $sql .= ";"; $test = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($test) == 0) { tentative_intrusion(2, "Tentative par un parent d'accéder à l'équipe pédagogique d'un élève dont il n'est pas responsable légal."); echo "Vous ne pouvez visualiser que les relevés de notes des élèves pour lesquels vous êtes responsable légal.\n"; require "../lib/footer.inc.php"; die; } } // Maintenant on arrive au code en lui-même. // On commence par traiter le cas où il faut sélectionner un élève (cas d'un responsable de plusieurs élèves) if ($login_eleve == null and $_SESSION['statut'] == "responsable") { echo "</p>\n"; // Si on est là normalement c'est parce qu'on a un responsable de plusieurs élèves qui n'a pas encore choisi d'élève. $sql = "(SELECT e.login, e.nom, e.prenom " . "FROM eleves e, responsables2 re, resp_pers r WHERE (" . "e.ele_id = re.ele_id AND " . "re.pers_id = r.pers_id AND " . "r.login = '******'login'] . "' AND (re.resp_legal='1' OR re.resp_legal='2')))"; if (getSettingAOui('GepiMemesDroitsRespNonLegaux')) { $sql .= " UNION (SELECT e.login, e.nom, e.prenom " . "FROM eleves e, responsables2 re, resp_pers r WHERE (" . "e.ele_id = re.ele_id AND " . "re.pers_id = r.pers_id AND " . "r.login = '******'login'] . "' AND re.resp_legal='0' AND re.acces_sp='y'))"; } $sql .= ";";
} else { if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die; } } // Sécurité /* if (!checkAccess()) { header("Location: ../logout.php?auto=2"); die(); } */ // La SESSION est valide, on teste juste les bricolages d'URL $url = parse_url($_SERVER['REQUEST_URI']); if (mb_substr($url['path'], 0, mb_strlen($gepiPath)) != $gepiPath) { tentative_intrusion(2, "Tentative d'accès avec modification sauvage de gepiPath"); header("Location: ../logout.php?auto=2"); die; } // On récupère le mode pour le Header (normalement en POST): $cacher_header = isset($_POST['cacher_header']) ? $_POST['cacher_header'] : (isset($_GET['cacher_header']) ? $_GET['cacher_header'] : "n"); // On n'accepte que deux valeurs: if ($cacher_header != "y" && $cacher_header != "n") { $cacher_header = "n"; } // On enregistre le mode pour le Header: $_SESSION['cacher_header'] = $cacher_header; // Et on renvoie un message http valide header("HTTP/1.0 200 OK"); echo ' ';
private function lock_account($_login) { global $mysqli; if ((!isset($GLOBALS['bloque_compte_admin'])) or ($GLOBALS['bloque_compte_admin'] != "n")) { // On verrouille le compte même si c'est un admin $reg_data = mysqli_query($mysqli,"UPDATE utilisateurs SET date_verrouillage=now() WHERE login='******'" ); } else { // on ne bloque pas le compte d'un administrateur $reg_data = mysqli_query($mysqli,"UPDATE utilisateurs SET date_verrouillage=now() WHERE login='******' and statut!='administrateur'"); } # On enregistre une alerte de sécurité. tentative_intrusion(2, "Verrouillage du compte ".$_login." en raison d'un trop grand nombre de tentatives de connexion infructueuses. Ce peut être une tentative d'attaque brute-force.", $_login); return true; }
$msg = "Tous les régimes étaient déjà renseignés.<br />"; } } $gepi_prof_suivi = getSettingValue('gepi_prof_suivi'); if ($_SESSION['statut'] == "professeur") { if (getSettingValue('GepiAccesGestElevesProfP') != 'yes') { tentative_intrusion("2", "Tentative d'accès par un prof à des fiches élèves, sans en avoir l'autorisation."); echo "Vous ne pouvez pas accéder à cette page car l'accès professeur n'est pas autorisé !"; require "../lib/footer.inc.php"; die; } else { // Le professeur est-il professeur principal dans une classe au moins. $sql = "SELECT 1=1 FROM j_eleves_professeurs WHERE professeur='" . $_SESSION['login'] . "';"; $test = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($test) == 0) { tentative_intrusion("2", "Tentative d'accès par un prof qui n'est pas {$gepi_prof_suivi} à des fiches élèves, sans en avoir l'autorisation."); echo "Vous ne pouvez pas accéder à cette page car vous n'êtes pas {$gepi_prof_suivi} !"; require "../lib/footer.inc.php"; die; } } } if (isset($is_posted) and $is_posted == '2') { //$tab_id_classe_quelles_classes=array(); if ($quelles_classes == 'certaines') { // // On efface les enregistrements liés à la session en cours // $sql = "DELETE FROM tempo WHERE num = '" . SESSION_ID() . "';"; //echo "$sql<br />"; mysqli_query($GLOBALS["mysqli"], $sql);
echo "Vous n'êtes pas autorisé à utiliser ce mode de visualisation.\n"; require "../lib/footer.inc.php"; die; } if ($_SESSION['statut'] == "eleve") { if (my_strtoupper($login_eleve) != my_strtoupper($_SESSION['login'])) { tentative_intrusion(3, "Tentative d'un élève de visualiser les relevés de notes d'un autre élève."); echo "Vous ne pouvez visualiser que vos relevés de notes.\n"; require "../lib/footer.inc.php"; die; } } if ($_SESSION['statut'] == "responsable") { $test = mysqli_query($GLOBALS["mysqli"], "SELECT count(e.login) " . "FROM eleves e, responsables2 re, resp_pers r " . "WHERE (" . "e.login = '******' AND " . "e.ele_id = re.ele_id AND " . "re.pers_id = r.pers_id AND " . "r.login = '******'login'] . "' AND (re.resp_legal='1' OR re.resp_legal='2'))"); if (old_mysql_result($test, 0) == 0) { tentative_intrusion(3, "Tentative d'un parent d'accès aux relevés de notes d'un élève dont il n'est pas responsable légal."); echo "Vous ne pouvez visualiser que les relevés de notes des élèves pour lesquels vous êtes responsable légal.\n"; require "../lib/footer.inc.php"; die; } } } // Affichage du relevé de notes if (my_ereg("([0-9]{2})/([0-9]{2})/([0-9]{4})", $_POST['display_date_debut'])) { $anneed = mb_substr($_POST['display_date_debut'], 6, 4); $moisd = mb_substr($_POST['display_date_debut'], 3, 2); $jourd = mb_substr($_POST['display_date_debut'], 0, 2); //========================= // AJOUT: boireaus 20071118 $_SESSION['display_date_debut'] = $_POST['display_date_debut']; // Pour éviter de refaire le choix des dates en changeant de classe, on utilise la SESSION...
/** * Vérifie que la page est bien accessible par l'utilisateur * * @global string * @return boolean TRUE si la page est accessible, FALSE sinon * @see tentative_intrusion() */ function checkAccess() { global $gepiPath; global $mysqli; if (!preg_match("/mon_compte.php/", $_SERVER['SCRIPT_NAME'])) { if (isset($_SESSION['statut']) && $_SESSION['statut'] != "administrateur" && getSettingAOui('MailValideRequis' . ucfirst($_SESSION['statut']))) { $debug_test_mail = "n"; if ($debug_test_mail == "y") { $f = fopen("/tmp/debug_check_mail.txt", "a+"); fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " checkAccess(): depuis " . $_SERVER['SCRIPT_NAME'] . "\n"); fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " checkAccess(): Avant le test check_mail().\n"); fclose($f); } $ping_host = getSettingValue('ping_host'); if ($ping_host == "") { //$ping_host="www.google.fr"; $ping_host = "173.194.40.183"; } $redir_saisie_mail_requise = "n"; //if((!isset($_SESSION['email']))||(!check_mail($_SESSION['email']))) { if (!isset($_SESSION['email'])) { $redir_saisie_mail_requise = "y"; if ($debug_test_mail == "y") { $f = fopen("/tmp/debug_check_mail.txt", "a+"); fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " \$_SESSION['email'] est vide.\n"); fclose($f); } } elseif (getSettingAOui('MailValideRequisCheckDNS') && ping($ping_host, 80, 3) != "down") { if ($debug_test_mail == "y") { $f = fopen("/tmp/debug_check_mail.txt", "a+"); fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " Avant le test checkdnsrr...\n"); fclose($f); } if (!check_mail($_SESSION['email'], 'checkdnsrr', 'y')) { $redir_saisie_mail_requise = "y"; if ($debug_test_mail == "y") { $f = fopen("/tmp/debug_check_mail.txt", "a+"); fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " Le test checkdnsrr a échoué.\n"); fclose($f); } } } elseif (!check_mail($_SESSION['email'])) { if ($debug_test_mail == "y") { $f = fopen("/tmp/debug_check_mail.txt", "a+"); fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " Le check_mail() a échoué.\n"); fclose($f); } $redir_saisie_mail_requise = "y"; } if ($redir_saisie_mail_requise == "y") { if ($debug_test_mail == "y") { $f = fopen("/tmp/debug_check_mail.txt", "a+"); if (!isset($_SESSION['email'])) { fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " checkAccess(): Après le test check_mail() qui n'a pas été effectué : \$_SESSION['email'] n'est pas initialisé.\n"); } else { fwrite($f, strftime("%Y-%m-%d %H:%M:%S") . " checkAccess(): Après le test check_mail() qui a échoué sur '" . $_SESSION['email'] . "'.\n"); } fclose($f); } header("Location: {$gepiPath}/utilisateurs/mon_compte.php?saisie_mail_requise=yes"); //getSettingValue('sso_url_portail') die; } } } $url = parse_url($_SERVER['SCRIPT_NAME']); if (mb_substr($url['path'], 0, mb_strlen($gepiPath)) != $gepiPath) { tentative_intrusion(2, "Tentative d'accès avec modification sauvage de gepiPath"); return FALSE; } else { if ($_SESSION["statut"] == 'autre') { $sql = "SELECT autorisation\n\t\t\t\t\tFROM droits_speciaux\n\t\t\t\t\tWHERE nom_fichier = '" . mb_substr($url['path'], mb_strlen($gepiPath)) . "'\n\t\t\t\t\tAND id_statut = '" . $_SESSION['statut_special_id'] . "'\n\t\t\t\t\tAND autorisation='V'"; } else { $sql = "SELECT " . $_SESSION['statut'] . " AS autorisation\n\t\t\t\t\tFROM droits\n\t\t\t\t\tWHERE id = '" . mb_substr($url['path'], mb_strlen($gepiPath)) . "'\n\t\t\t\t\tAND " . $_SESSION['statut'] . "='V';"; } $resultat = mysqli_query($mysqli, $sql); $nb_lignes = $resultat->num_rows; $resultat->close(); if ($nb_lignes > 0) { return TRUE; } else { tentative_intrusion(1, "Tentative d'accès à un fichier sans avoir les droits nécessaires"); return FALSE; } } }
Date : 2013-05-12 17:15:24 Fichier visé : /lib/form_message.php Url d'origine : https://XXX/*.php Niveau de gravité : 1 Description : Accès à une page sans être logué (peut provenir d'un timeout de session). La tentative d'intrusion a été effectuée par un utilisateur non connecté à Gepi. Adresse IP : 127.0.0.1 */ // En fait, on n'arrive même pas jusque là si la session est terminée. //header("Location: ../logout.php?auto=1"); die; } if (!getSettingAOui('active_messagerie') && !getSettingAOui('active_mod_alerte')) { $mess = rawurlencode("Vous tentez d accéder au module Messagerie qui est désactivé !"); tentative_intrusion(1, "Tentative d'accès au module Messagerie qui est désactivé."); header("Location: ../accueil.php?msg={$mess}"); die; } $mode = isset($_POST['mode']) ? $_POST['mode'] : (isset($_GET['mode']) ? $_GET['mode'] : NULL); if (isset($mode) && $mode == 'maj_span_nom_jour_semaine') { header('Content-Type: text/html; charset=utf-8'); $jour = isset($_GET['jour']) ? $_GET['jour'] : NULL; //if(isset($jour)) { if (isset($jour) && preg_match("|[0-9]{2}/[0-9]{2}/[0-9]{4}|", $jour)) { $tmp_tab = explode("/", $jour); if (checkdate($tmp_tab[1], $tmp_tab[0], $tmp_tab[2])) { echo strftime("%A", mktime("12", "59", "00", $tmp_tab[1], $tmp_tab[0], $tmp_tab[2])); } } die;
// On selectionne toutes les classes //$sql="SELECT DISTINCT c.* FROM classes c WHERE 1"; $sql = "SELECT 1=1 FROM j_eleves_classes jec, classes c WHERE (c.id=jec.id_classe) LIMIT 1;"; } elseif ($_SESSION["statut"] == "professeur") { $sql = "SELECT DISTINCT c.* FROM classes c, j_eleves_professeurs jep, j_eleves_classes jec WHERE (jep.professeur='" . $_SESSION['login'] . "' AND jep.login = jec.login AND jec.id_classe = c.id AND c.id='{$id_classe}');"; } elseif ($_SESSION["statut"] == "cpe") { $sql = "SELECT DISTINCT c.* FROM classes c, j_eleves_cpe jecpe, j_eleves_classes jec WHERE (jecpe.cpe_login='******'login'] . "' AND jecpe.e_login = jec.login AND jec.id_classe = c.id AND c.id='{$id_classe}');"; } else { // On ne devrait pas arriver jusque-là... echo "<p>Droits insuffisants pour effectuer cette opération</p>\n"; require "../lib/footer.inc.php"; die; } $test_acces_classe = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($test_acces_classe) == 0) { tentative_intrusion(2, "Tentative d'un " . $_SESSION["statut"] . " (" . $_SESSION["login"] . ") à une classe (" . get_class_from_id($id_classe) . ") sans y être autorisé."); echo "<p>Vous n'êtes pas autorisés à être ici.</p>\n"; require "../lib/footer.inc.php"; die; } // ++++++++++++++++++++++++++++++++++++++ // ++++++++++++++++++++++++++++++++++++++ // Tableau destiné à stocker toutes les infos $tab_bulletin[$id_classe] = array(); if (!isset($intercaler_releve_notes)) { // On initialise un tableau qui va rester vide $tab_releve[$id_classe] = array(); } $affiche_adresse = sql_query1("SELECT display_address FROM classes WHERE id='" . $id_classe . "'"); //echo "\$affiche_adresse=$affiche_adresse<br />"; //===========================================
private function affErreur($number){ if(is_numeric($number)){ switch ($number) { case "1": Die('Il faut préciser le nom du plugin dans la création de son instance : $user_auth = new gepiPlugIn("nom_plugin");'); break; case "2": Die('L\'objet plugin n\'est pas instancié ou n\'existe pas !'); break; case "3": tentative_intrusion(2, "Tentative d'ouverture d'une page du plugin ".$this->_plugin->getNom()." sans avoir les droits suffisants !"); Die('Vous n\'avez pas les droits suffisants pour afficher cette page !'); break; default: Die("Erreur non répertoriée !"); break; } }else{ Die("L'information passée à la méthode " . __METHOD__ . " n'est pas valide !"); } }
header("Location: ../accueil.php?msg=Classe non choisie."); die; } $login_eleve = isset($_POST['login_eleve']) ? $_POST['login_eleve'] : (isset($_GET['login_eleve']) ? $_GET['login_eleve'] : NULL); if (!isset($login_eleve)) { header("Location: ../accueil.php?msg=Elève non choisi."); die; } // Seuls les comptes Administrateur et Scolarité ont accès if ($_SESSION['statut'] == "scolarite") { // Tester si le compte scolarité a accès à cette classe... // Si ce n'est pas le cas -> intrusion... $sql = "SELECT 1=1 FROM j_scol_classes jsc WHERE jsc.id_classe='{$id_classe}' AND jsc.login='******'login'] . "';"; $test = mysqli_query($GLOBALS["mysqli"], $sql); if ($test == "0") { tentative_intrusion("2", "Tentative d'accès par un compte scolarité à une classe à laquelle il n'est pas associé."); echo "Vous ne pouvez pas accéder à cette classe car vous n'y êtes pas référent !"; require "../lib/footer.inc.php"; die; } } include "../lib/periodes.inc.php"; if ($_SESSION['statut'] == "administrateur") { if (isset($is_posted)) { check_token(); $msg = ''; $j = 1; while ($j < $nb_periode) { $sql = "SELECT DISTINCT g.id, g.name FROM groupes g, j_groupes_classes jgc WHERE (g.id = jgc.id_groupe and jgc.id_classe = '" . $id_classe . "') ORDER BY jgc.priorite, g.name"; //echo "$sql<br />"; $call_group = mysqli_query($GLOBALS["mysqli"], $sql);
La tentative d'intrusion a été effectuée par un utilisateur non connecté à Gepi. Adresse IP : 127.0.0.1 */ // En fait, on n'arrive même pas jusque là si la session est terminée. //header("Location: ../logout.php?auto=1"); die; } if (!getSettingAOui('active_mod_alerte')) { $active_messagerie = getSettingValue('active_messagerie'); if ($active_messagerie != "") { saveSetting('active_mod_alerte', $active_messagerie); } if (!getSettingAOui('active_mod_alerte')) { $mess = rawurlencode("Vous tentez d accéder au dispositif d'alerte qui est désactivé !"); tentative_intrusion(1, "Tentative d'accès au dispositif d'alerte qui est désactivé."); header("Location: ../accueil.php?msg={$mess}"); die; } } $mode = isset($_POST['mode']) ? $_POST['mode'] : (isset($_GET['mode']) ? $_GET['mode'] : NULL); if (isset($mode) && $mode == 'maj_span_nom_jour_semaine') { header('Content-Type: text/html; charset=utf-8'); $jour = isset($_GET['jour']) ? $_GET['jour'] : NULL; //if(isset($jour)) { if (isset($jour) && preg_match("|[0-9]{2}/[0-9]{2}/[0-9]{4}|", $jour)) { $tmp_tab = explode("/", $jour); if (checkdate($tmp_tab[1], $tmp_tab[0], $tmp_tab[2])) { echo strftime("%A", mktime("12", "59", "00", $tmp_tab[1], $tmp_tab[0], $tmp_tab[2])); } }
} elseif($_SESSION['statut']=='professeur'){ if ((getSettingValue("GepiAccesBulletinSimpleProf") == "yes")||(getSettingValue("GepiAccesBulletinSimpleProfTousEleves") == "yes")) { $sql="SELECT DISTINCT c.id,c.classe FROM classes c, periodes p, j_groupes_classes jgc, j_groupes_professeurs jgp WHERE p.id_classe = c.id AND jgc.id_classe=c.id AND jgp.id_groupe=jgc.id_groupe AND jgp.login='******'login']."' ORDER BY c.classe"; } elseif(getSettingValue("GepiAccesBulletinSimplePP") == "yes") { $sql="SELECT DISTINCT c.id,c.classe FROM classes c, j_eleves_classes jec, j_eleves_professeurs jep WHERE jec.id_classe=c.id AND jep.login=jec.login AND jep.professeur='".$_SESSION['login']."' ORDER BY c.classe;"; } else { tentative_intrusion(1, "Tentative d'accès aux bulletins simplifiés sans autorisation."); echo "<p>Vous n'êtes pas autorisé à visualiser cette page.</p>"; require "../lib/footer.inc.php"; die(); } } elseif($_SESSION['statut']=='cpe'){ $sql="SELECT DISTINCT c.id,c.classe FROM classes c, periodes p, j_eleves_classes jec, j_eleves_cpe jecpe WHERE p.id_classe = c.id AND jec.id_classe=c.id AND jec.periode=p.num_periode AND jecpe.e_login=jec.login AND jecpe.cpe_login='******'login']."' ORDER BY classe"; }
//$choix_parametres=isset($_POST['choix_parametres']) ? $_POST['choix_parametres'] : NULL; // Un prof peut choisir un groupe plutôt qu'une liste de classes $id_groupe = $_SESSION['statut'] == 'professeur' ? isset($_POST['id_groupe']) ? $_POST['id_groupe'] : NULL : NULL; if (isset($id_groupe)) { if ($id_groupe == '' || mb_strlen(my_ereg_replace("[0-9]", "", $id_groupe)) != 0) { tentative_intrusion(2, "Tentative d'un professeur de manipuler l'identifiant id_groupe en y mettant des caractères non numériques ou un identifiant de groupe vide."); echo "<p>L'identifiant de groupe est erroné.</p>\n"; require "../lib/footer.inc.php"; die; } // On vérifie si le prof est bien associé au groupe $sql = "SELECT 1=1 FROM j_groupes_professeurs WHERE id_groupe='{$id_groupe}' AND login='******'login'] . "';"; $test_grp_prof = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($test_grp_prof) == 0) { //intrusion tentative_intrusion(2, "Tentative d'un professeur d'accéder aux relevés de notes d'un groupe auquel il n'est pas associé."); echo "<p>Vous n'êtes pas associé au groupe choisi.</p>\n"; require "../lib/footer.inc.php"; die; } //echo "id_groupe=$id_groupe<br />\n"; } //========================= //========================= // A FAIRE // CAS D'UN ELEVE // - Préremplir la classe pour sauter l'étape? sauf s'il a changé de classe? // - Permettre de choisir la période // - Préremplir la sélection d'élèves pour sauter l'étape (en renseignant un champ caché) et en cas de manipulation (vider le champ) interdire l'accès élève dans la section de choix des élèves // Contrôler avant et après validation des paramètres si les champs proposés/reçus sont corrects (conforme à ce qu'on autorise à l'élève) // CAS D'UN RESPONSABLE
require("../lib/footer.inc.php"); die(); } } if ($_SESSION['statut'] == "eleve" OR $_SESSION['statut'] == "responsable") { // On filtre eleve2 : if(!isset($eleve2)) {$eleve2 = "moyclasse";} if((($_SESSION['statut'] == "eleve")&&(getSettingAOui('GepiAccesGraphRangEleve')))||(($_SESSION['statut'] == "responsable")&&(getSettingAOui('GepiAccesGraphRangParent')))) { if ($eleve2 != "moyclasse" and $eleve2 != "moymin" and $eleve2 != "moymax" and $eleve2 != "rang_eleve") { tentative_intrusion(3, "Tentative de manipulation de la seconde source de données sur la visualisation graphique des résultats (détournement de _eleve2_, qui ne peut, dans le cas d'un utilisateur parent ou eleve, ne correspondre qu'à une moyenne et non un autre élève)."); $eleve2 = "moyclasse"; } } else { if ($eleve2 != "moyclasse" and $eleve2 != "moymin" and $eleve2 != "moymax") { tentative_intrusion(3, "Tentative de manipulation de la seconde source de données sur la visualisation graphique des résultats (détournement de _eleve2_, qui ne peut, dans le cas d'un utilisateur parent ou eleve, ne correspondre qu'à une moyenne et non un autre élève)."); $eleve2 = "moyclasse"; } } } //debug_var(); /* // On évite d'initialiser à NULL pour permettre de pré-cocher le choix_periode. $choix_periode=isset($_POST['choix_periode']) ? $_POST['choix_periode'] : (isset($_GET['choix_periode']) ? $_GET['choix_periode'] : "periode"); $periode=isset($_POST['periode']) ? $_POST['periode'] : (isset($_GET['periode']) ? $_GET['periode'] : NULL); $num_periode_choisie=isset($_POST['num_periode_choisie']) ? $_POST['num_periode_choisie'] : (isset($_GET['num_periode_choisie']) ? $_GET['num_periode_choisie'] : NULL); if(isset($num_periode_choisie)) { $sql="SELECT nom_periode FROM periodes WHERE num_periode='$num_periode_choisie' AND id_classe='$id_classe';";
if (isset($id_classe)) { // On regarde si le type est correct : if (!is_numeric($id_classe)) { tentative_intrusion("2", "Changement de la valeur de id_classe pour un type non numérique."); echo "Erreur."; /** * inclusion du pied de page */ require "../lib/footer.inc.php"; die; } // On teste si le professeur a le droit d'accéder à cette classe if ($_SESSION['statut'] == "professeur" and getSettingValue("GepiAccesMoyennesProfToutesClasses") != "yes") { $test = mysqli_num_rows(mysqli_query($GLOBALS["mysqli"], "SELECT jgc.* FROM j_groupes_classes jgc, j_groupes_professeurs jgp WHERE (jgp.login='******'login'] . "' AND jgc.id_groupe = jgp.id_groupe AND jgc.id_classe = '" . $id_classe . "')")); if ($test == "0") { tentative_intrusion("2", "Tentative d'accès par un prof à une classe dans laquelle il n'enseigne pas, sans en avoir l'autorisation."); echo "Vous ne pouvez pas accéder à cette classe car vous n'y êtes pas professeur !"; /** * inclusion du pied de page */ require "../lib/footer.inc.php"; die; } } } $javascript_specifique = "prepa_conseil/colorisation_visu_toutes_notes"; //**************** EN-TETE ***************** $titre_page = "Visualisation des moyennes des carnets de notes"; /** * Entête de la page */
if($_SESSION['statut']=='professeur') { $acces_suite="n"; if((getSettingAOui('visuDiscProfClasses'))&&(is_prof_ele($_SESSION['login'], $login_ele))) { $acces_suite="y"; } elseif((getSettingAOui('visuDiscProfGroupes'))&&(is_prof_classe_ele($_SESSION['login'], $login_ele))) { $acces_suite="y"; } elseif(is_pp($_SESSION['login'], "", $login_ele)) { $acces_suite="y"; } if($acces_suite=="n") { $msg="Vous n'avez pas accès à cet élève.<br />"; tentative_intrusion(1, "Tentative d'accès à la consultation d'$mod_disc_terme_incident pour l'élève ".get_nom_prenom_eleve($login_ele)."."); unset($login_ele); } } /* elseif(($_SESSION['statut']=='cpe')&&(!is_cpe($_SESSION['login'], "", $login_ele))) { $msg="Vous n'avez pas accès à cet élève.<br />"; tentative_intrusion(1, "Tentative d'accès à la consultation d'$mod_disc_terme_incident pour l'élève ".get_nom_prenom_eleve($login_ele)."."); unset($login_ele); } */ } $style_specifique[] = "lib/DHTMLcalendar/calendarstyle"; $javascript_specifique[] = "lib/DHTMLcalendar/calendar"; $javascript_specifique[] = "lib/DHTMLcalendar/lang/calendar-fr";
$t=$_FILES['monfichier']; $monfichiername=$t['name']; $monfichiertype=$t['type']; $monfichiersize=$t['size']; $monfichiertmp_name=$t['tmp_name']; $upload_modele_ooo_autorise="n"; if($_SESSION['statut']=='administrateur') {$upload_modele_ooo_autorise="y";} elseif(($_SESSION['statut']=='scolarite')&&(getSettingValue('OOoUploadScol')=='yes')) {$upload_modele_ooo_autorise="y";} elseif(($_SESSION['statut']=='cpe')&&(getSettingValue('OOoUploadCpe')=='yes')) {$upload_modele_ooo_autorise="y";} elseif(($_SESSION['statut']=='professeur')&&(getSettingValue('OOoUploadProf')=='yes')) {$upload_modele_ooo_autorise="y";} if($upload_modele_ooo_autorise!='y') { echo "<p style='color:red'>Action non autorisée : Upload d'un modèle personnalisé.</p>\n"; tentative_intrusion(1, "Tentative non autorisée d'upload d'un modèle OOo (".$monfichiername.")"); } else { if ($monfichiername=="") { echo "<p style='color:red'>Pas de fichier indiqué ! Il faut recommencer...</p>\n"; } else { $fichiercopie=mb_strtolower($monfichiername); $cible=array(); if($_SESSION['statut']=='administrateur') { $login_user=isset($_POST['login_user']) ? $_POST['login_user'] : NULL; if(!isset($login_user)) { $login_user=array(); $login_user[]=$_SESSION['login'];
$mode_calcul_moy_annee = "moyenne_des_moy_gen_periodes"; // On filtre au niveau sécurité pour s'assurer qu'un prof n'est pas en train de chercher // à visualiser des données pour lesquelles il n'est pas autorisé if (isset($id_classe)) { // On regarde si le type est correct : if (!is_numeric($id_classe)) { tentative_intrusion("3", "Changement de la valeur de id_classe pour un type non numérique, en changeant la valeur d'un champ 'hidden' d'un formulaire."); echo "Erreur."; require "../lib/footer.inc.php"; die; } // On teste si le professeur a le droit d'accéder à cette classe if ($_SESSION['statut'] == "professeur" and getSettingValue("GepiAccesMoyennesProfToutesClasses") != "yes") { $test = mysqli_num_rows(mysqli_query($GLOBALS["mysqli"], "SELECT jgc.* FROM j_groupes_classes jgc, j_groupes_professeurs jgp WHERE (jgp.login='******'login'] . "' AND jgc.id_groupe = jgp.id_groupe AND jgc.id_classe = '" . $id_classe . "')")); if ($test == "0") { tentative_intrusion("3", "Tentative d'accès par un prof à une classe dans laquelle il n'enseigne pas, sans en avoir l'autorisation. Tentative avancée : changement des valeurs de champs de type 'hidden' du formulaire."); echo "Vous ne pouvez pas accéder à cette classe car vous n'y êtes pas professeur !"; require "../lib/footer.inc.php"; die; } } } function my_echo($texte) { $debug = 0; if ($debug != 0) { echo $texte; } } $larg_tab = isset($_POST['larg_tab']) ? $_POST['larg_tab'] : NULL; $bord = isset($_POST['bord']) ? $_POST['bord'] : NULL;
// Si on est là, ce qu'un utilisateur au statut 'responsable' a essayé // de sélectionner un élève pour lequel il n'est pas responsable. tentative_intrusion(2, "Tentative d'accès par un parent au cahier de textes d'un autre élève que le ou les sien(s)."); $selected_eleve = false; } } if (isset($login_eleve) && $login_eleve != "") { $sql = "(SELECT 1=1 FROM resp_pers r, responsables2 re, eleves e WHERE r.pers_id=re.pers_id AND re.ele_id=e.ele_id AND r.login='******'login'] . "' AND (re.resp_legal='1' OR re.resp_legal='2') AND e.login='******')"; if (getSettingAOui('GepiMemesDroitsRespNonLegaux')) { $sql .= " UNION (SELECT 1=1 FROM eleves e, resp_pers r, responsables2 re \n\t\t\t\t\t\t\tWHERE (e.login = '******' AND\n\t\t\t\t\t\t\t\te.ele_id = re.ele_id AND \n\t\t\t\t\t\t\t\tre.pers_id = r.pers_id AND \n\t\t\t\t\t\t\t\tr.login = '******'login'] . "' AND \n\t\t\t\t\t\t\t\tre.resp_legal='0' AND \n\t\t\t\t\t\t\t\tre.acces_sp='y'))"; } $sql .= ";"; //echo "$sql<br />"; $verif_ele = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($verif_ele) == 0) { tentative_intrusion(2, "Tentative d'accès par un parent au cahier de textes d'un autre élève que le ou les sien(s)."); header("Location: ../logout.php?auto=1"); die; //echo "PB intrusion<br />"; } } } $selected_eleve_login = $selected_eleve ? $selected_eleve->login : ""; // Nom complet de la classe $appel_classe = mysqli_query($GLOBALS["mysqli"], "SELECT classe FROM classes WHERE id='{$id_classe}'"); $classe_nom = @old_mysql_result($appel_classe, 0, "classe"); // Nom complet de la matière $matiere_nom = $current_group["matiere"]["nom_complet"]; $matiere_nom_court = $current_group["matiere"]["matiere"]; // Vérification sur les dates settype($month, "integer");
else { $sql="SELECT DISTINCT jep.login " . "FROM j_eleves_professeurs jep " . "WHERE (" . "jep.login='******' AND " . "jep.professeur = '".$_SESSION['login']."');"; } } else { $sql="SELECT jeg.* FROM j_eleves_groupes jeg, j_groupes_professeurs jgp WHERE (jgp.login='******'login']."' AND jeg.id_groupe = jgp.id_groupe AND jeg.login = '******')"; } //echo "$sql<br />"; $test = mysqli_num_rows(mysqli_query($GLOBALS["mysqli"], $sql)); if ($test == "0") { tentative_intrusion("2", "Tentative d'accès par un prof à un bulletin simplifié d'un élève ($login_eleve) qu'il n'a pas en cours, sans en avoir l'autorisation."); echo "Vous ne pouvez pas accéder à cet élève !"; require ("../lib/footer.inc.php"); die(); } } $affiche_colonne_moy_classe="y"; if((($_SESSION['statut']=='eleve')&&(!getSettingAOui('GepiAccesBulletinSimpleColonneMoyClasseEleve')))|| (($_SESSION['statut']=='responsable')&&(!getSettingAOui('GepiAccesBulletinSimpleColonneMoyClasseResp')))) { $affiche_colonne_moy_classe="n"; } if((isset($_POST['pas_de_colonne_moy_classe']))&&($_POST['pas_de_colonne_moy_classe']=='y')) { $affiche_colonne_moy_classe="n"; } //echo "\$affiche_colonne_moy_classe=$affiche_colonne_moy_classe<br />";
header("Location: ../cahier_texte/consultation.php"); die; } $sql = "SELECT 1=1 FROM droits WHERE id='/cahier_texte_2/consultation2.php';"; $test = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($test) == 0) { $sql = "INSERT INTO droits SET id='/cahier_texte_2/consultation2.php',\n\tadministrateur='V',\n\tprofesseur='V',\n\tcpe='V',\n\tscolarite='V',\n\televe='V',\n\tresponsable='V',\n\tsecours='F',\n\tautre='V',\n\tdescription='Cahiers de textes: Consultation',\n\tstatut='';"; $insert = mysqli_query($GLOBALS["mysqli"], $sql); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die; } //On vérifie si le module est activé if (getSettingValue("active_cahiers_texte") != 'y') { tentative_intrusion(1, "Tentative d'accès au cahier de textes en consultation alors que le module n'est pas activé."); die("Le module n'est pas activé."); } //include "../lib/mincals.inc"; //========================================================================== // Si la date est transmise, on l'utilise, sinon, on prend la date du jour: unset($day); $day = isset($_POST["day"]) ? $_POST["day"] : (isset($_GET["day"]) ? $_GET["day"] : date("d")); unset($month); $month = isset($_POST["month"]) ? $_POST["month"] : (isset($_GET["month"]) ? $_GET["month"] : date("m")); unset($year); $year = isset($_POST["year"]) ? $_POST["year"] : (isset($_GET["year"]) ? $_GET["year"] : date("Y")); // Si la date est transmise lors d'un passage à la semaine suivante/précédente: unset($today); $today = isset($_POST["today"]) ? $_POST["today"] : (isset($_GET["today"]) ? $_GET["today"] : NULL); if (isset($today)) {
// Il faut rendre ces choix paramétrables dans Droits d'accès. $annee_scolaire=isset($_GET['annee_scolaire']) ? $_GET['annee_scolaire'] : NULL; $num_periode=isset($_GET['num_periode']) ? $_GET['num_periode'] : NULL; // Mode: 'bull_simp' ou 'avis_conseil' $mode=isset($_GET['mode']) ? $_GET['mode'] : NULL; // Faire un filtrage sur ces valeurs. // Si le module n'est pas activé... if(getSettingValue('active_annees_anterieures')!="y") { // A DEGAGER // A VOIR: Comment enregistrer une tentative d'accès illicite? tentative_intrusion(1, "Tentative d'un ".$_SESSION["statut"]." (".$_SESSION["login"].") d'accéder au module Années antérieures qui n'est pas activé."); //echo "1"; header("Location: ../logout.php?auto=1"); die(); } // Il faut arriver sur cette page avec un $logineleve passé en paramètre. // Faire les filtrages selon le statut à ce niveau en tenant compte: // - du fait que le statut est autorisé à accéder dans Droits d'accès; // - du login élève fourni. require('fonctions_annees_anterieures.inc.php');
} } elseif ($_SESSION['statut'] == "autre") { $sql = "SELECT 1=1 FROM droits_speciaux ds WHERE ds.id_statut='" . $_SESSION['statut_special_id'] . "' AND ds.nom_fichier='/mod_annees_anterieures/consultation_annee_anterieure.php' AND ds.autorisation='V';"; $res_acces = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res_acces) > 0) { $acces = "y"; $sql_classes = "SELECT DISTINCT id,classe FROM classes ORDER BY classe"; if (isset($id_classe)) { $sql_ele = "SELECT DISTINCT e.nom,e.prenom,e.login FROM eleves e,j_eleves_classes jec WHERE jec.id_classe='{$id_classe}' AND jec.login=e.login ORDER BY e.nom,e.prenom"; } } } if ($acces != "y") { // A DEGAGER // A VOIR: Comment enregistrer une tentative d'accès illicite? tentative_intrusion(1, "Tentative illicite d'un " . $_SESSION["statut"] . " (" . $_SESSION["login"] . ") d'accéder à des données d'Années antérieures."); header("Location: ../logout.php?auto=1"); die; } $msg = ""; $style_specifique = "mod_annees_anterieures/annees_anterieures"; //**************** EN-TETE ***************** $titre_page = "Consultation des données antérieures"; require_once "../lib/header.inc.php"; //**************** FIN EN-TETE ***************** //debug_var(); echo "<div class='norme'>\n"; echo "<form action='" . $_SERVER['PHP_SELF'] . "' id='form_change_eleve' method='get'>\n"; echo "<p class='bold'><a href='"; if ($_SESSION['statut'] == "administrateur") { echo "index.php";
tentative_intrusion(1, "Tentative d'accès à la saisie de $mod_disc_terme_avertissement_fin_periode pour l'élève ".get_nom_prenom_eleve($login_ele)."."); header("Location: ../accueil.php?msg=$mess"); die(); } } elseif($_SESSION['statut']=='cpe') { $acces_suite="n"; if(getSettingAOui('saisieDiscCpeAvtTous')) { $acces_suite="y"; } elseif((!getSettingAOui('saisieDiscCpeAvt'))&&(is_cpe($_SESSION['login'], "", $login_ele))) { $acces_suite="y"; } else { $mess=rawurlencode("Vous n'êtes pas CPE de ".get_nom_prenom_eleve($login_ele)." ou bien vous n'êtes pas autorisé à saisir les ".$mod_disc_terme_avertissement_fin_periode."s !"); tentative_intrusion(1, "Tentative d'accès à la saisie de $mod_disc_terme_avertissement_fin_periode pour l'élève ".get_nom_prenom_eleve($login_ele)."."); header("Location: ../accueil.php?msg=$mess"); die(); } } $msg=""; // 20140616 if(isset($_POST['get_avertissement_fin_periode'])) { check_token(); //$tab_type_avertissement_fin_periode=get_tab_type_avertissement(); //$tab_av_ele=get_tab_avertissement($login_ele, $periode);
} } else { $mess = rawurlencode("Vous n'êtes pas autorisé à imprimer les " . $mod_disc_terme_avertissement_fin_periode . "s !"); tentative_intrusion(1, "Tentative d'accès à l'impression de {$mod_disc_terme_avertissement_fin_periode}."); header("Location: ../accueil.php?msg={$mess}"); die; } if (count($tab_restriction_classes) == 0) { $mess = rawurlencode("Il n'y a aucune classe pour laquelle vous seriez autorisé à imprimer les " . $mod_disc_terme_avertissement_fin_periode . "s !"); //tentative_intrusion(1, "Tentative d'accès à l'impression de $mod_disc_terme_avertissement_fin_periode."); header("Location: ../accueil.php?msg={$mess}"); die; } } elseif ($_SESSION['statut'] == 'cpe' && !getSettingAOui('imprDiscCpeAvtOOo')) { $mess = rawurlencode("Vous n'êtes pas autorisé à imprimer les " . $mod_disc_terme_avertissement_fin_periode . "s !"); tentative_intrusion(1, "Tentative d'accès à l'impression de {$mod_disc_terme_avertissement_fin_periode}."); header("Location: ../accueil.php?msg={$mess}"); die; } if (isset($eleve)) { $tab_eleves_OOo = array(); $nb_eleve = 0; $tab_type_avertissement_fin_periode = get_tab_type_avertissement(); for ($loop = 0; $loop < count($eleve); $loop++) { $tab = explode("|", $eleve[$loop]); if (isset($tab[2])) { $tab_eleves_OOo[$nb_eleve] = array(); $current_id_classe = $tab[0]; $current_periode = $tab[1]; $current_eleve_login = $tab[2]; $classe = get_nom_classe($current_id_classe);
echo "\$login_eleve=$login_eleve<br />"; echo "\$regime_eleve=$regime_eleve<br />"; */ $CDTPeutPointerTravailFait = getSettingAOui('CDTPeutPointerTravailFait' . ucfirst($_SESSION['statut'])); //if(($mode=='changer_etat')&&($etat!="")&&(is_numeric($id_ct_devoir))&&($login_eleve!="")) { if ($mode == 'changer_etat' && is_numeric($id_ct_devoir) && $login_eleve != "" && $CDTPeutPointerTravailFait) { if ($_SESSION['statut'] == 'eleve') { if ($login_eleve != $_SESSION['login']) { echo "<img src='../images/icons/sens_interdit.png' class='icone16' title=\"Vous ne pouvez pas modifier les travux faits ou non pour un autre élève.\nNotez que ces tentatives pourraient provoquer une désactivation de votre compte.\" />"; tentative_intrusion(1, "Tentative d'un élève de modifier l'état du travail fait ou non CDT pour une notice d'un autre élève ({$login_eleve})."); die; } } elseif ($_SESSION['statut'] == 'responsable') { if (!is_responsable($login_eleve, $_SESSION['login'], "", "yy")) { echo "<img src='../images/icons/sens_interdit.png' class='icone16' title=\"Vous ne pouvez pas modifier les travux faits ou non pour un élève dont vous n'êtes pas responsable.\nNotez que ces tentatives pourraient provoquer une désactivation de votre compte.\" />"; tentative_intrusion(1, "Tentative d'un responsable de modifier l'état du travail fait ou non CDT pour une notice d'un élève ({$login_eleve}) dont il n'est pas responsable."); die; } } // Vérifier que l'id_ct_devoir correspond à un cours de l'élève. $sql = "SELECT 1=1 FROM ct_devoirs_entry cde, j_eleves_groupes jeg WHERE cde.id_ct='" . $id_ct_devoir . "' AND cde.id_groupe=jeg.id_groupe AND jeg.login='******';"; //echo "$sql<br />"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) == 0) { echo "<img src='../images/icons/sens_interdit.png' class='icone16' title=\"Vous ne suivez pas l'enseignement associé à ce devoir.\" />"; die; } $date_courante = strftime("%Y-%m-%d %H:%M:%S"); $sql = "SELECT * FROM ct_devoirs_faits WHERE id_ct='" . $id_ct_devoir . "' AND login='******';"; $res = mysqli_query($GLOBALS["mysqli"], $sql); if (mysqli_num_rows($res) == 0) {
imagejpeg($destination, $dest_file, 100); } } else { $msg .= "Erreur lors de l'upload de la photo."; } } } } elseif ($nb_elenoet == 0) { //$msg.="Le numéro GEP de l'élève n'est pas enregistré dans la table 'eleves'."; $msg .= "Le numéro interne Sconet (elenoet) de l'élève n'est pas enregistré dans la table 'eleves'."; } else { //$msg.="Le numéro GEP est commun à plusieurs élèves. C'est une anomalie."; $msg .= "Le numéro interne Sconet (elenoet) est commun à plusieurs élèves. C'est une anomalie."; } } else { tentative_intrusion("2", "Tentative d'upload par un prof de la photo d'un élève ({$eleve_login}) dont il n'est pas " . getSettingValue('gepi_prof_suivi') . "."); echo "Upload de photo non autorisé : Vous n'êtes pas " . getSettingValue('gepi_prof_suivi') . " de cet élève."; require "../lib/footer.inc.php"; die; } } } else { //$msg.="Le numéro GEP proposé contient des caractères non numériques."; $msg .= "Le numéro interne Sconet (elenoet) proposé contient des caractères non numériques."; } } } } } } // On appelle les informations de l'utilisateur pour les afficher :