/** * - Cas Login_Go : * . * Le cas Login_Go patati patata.... */ function Login_Go($data_in = array()) { Lib_myLog("action: " . $data_in['action']); foreach ($GLOBALS['tab_globals'] as $global) { global ${$global}; } Lib_myLog("IN: ", $data_in); Lib_myLog("FILE: ", __FILE__); /*=============*/ Lib_myLog("Suppression du controle de tentatives"); $interdiction = Interdiction_recuperer($utilisateur->nom_utilisateur, $_SERVER['REMOTE_ADDR']); $interdiction->DEL(); // Génération de l'identifiant de session... $session = Sessions_new(); Sessions_writeLog($utilisateur->nom_utilisateur, $ip, __LOG_IN__, $session); /*=============*/ Lib_myLog("Nouvelle session: {$session}"); setcookie($GLOBALS['instance'] . '_session', $session, 0, '/'); $_COOKIE[$GLOBALS['instance'] . '_session'] = $session; /*=============*/ Lib_myLog("Langue recuperee: {$lang}"); /*=============*/ Lib_myLog("Taille recuperee: " . $data_in['taille_ecran']); // On sauvegarde la valeur de la langue et de la taille d'écran dans les variables de la session $tab_session['lang'] = $lang; $tab_session['taille_ecran'] = $data_in['taille_ecran']; $tab_session['taille_tableaux'] = $GLOBALS['taille_tableaux']; /*=============*/ Lib_myLog("Recherche des modules autorises"); $groupe = Groupe_recuperer($utilisateur->nom_groupe); $tab_groupe = $groupe->getTab(); foreach ($tab_groupe['modules'] as $module) { /*=============*/ Lib_myLog("Module autorise: {$module}"); $tab_session[$module] = 1; } $tab_utilisateur = $utilisateur->getTab(); if (!empty($tab_utilisateur['droits'])) { /*=============*/ Lib_myLog("Affectation des droits de l'utilisateur"); foreach ($tab_utilisateur['droits'] as $champ => $droits) { /*=============*/ Lib_myLog("Champ autorise : {$champ}, droits : {$droits}"); $tab_session[$champ] = $droits; } } $tab_session['nom_utilisateur'] = $utilisateur->nom_utilisateur; $tab_session['id_utilisateur'] = $utilisateur->id_utilisateur; $tab_session['nom_groupe'] = $utilisateur->nom_groupe; // Pour sécuriser davantage le système, on mémorise le user_agent de l'utilisateur $tab_session['user_agent'] = $_SERVER['HTTP_USER_AGENT']; // On initialise le fichier qui nous sert à stocker les données de la session dans /tmp /*=============*/ Lib_myLog("Redirection sur accueil"); $racine = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); // C'est l'accueil qui doit effectuer la redirection, on ne doit jamais "configurer" l'actions.php de dilasys ! echo "<html>\n"; echo "<head>\n"; echo "<meta http-equiv=\"refresh\" content=\"0;URL={$racine}/accueil.php?groupe={$utilisateur->nom_groupe}\">"; echo "</head>\n"; echo "<body>\n"; echo "</body>\n"; echo "<html>\n"; // On sort pour ne pas continuer à afficher Login_Admin.php! Lib_writeData($tab_session, "session_" . $session); exit; }
function Sessions_auth($session, $adresse_ip) { if (Sessions_exists($session)) { $ip_BASE = Sessions_getAdresseIp($session); if ($ip_BASE == $adresse_ip) { return true; } } Sessions_writeLog("{$session}", $adresse_ip, __DUPE_FORCE_OUT__); return false; }