top.location.href="index.php?erreur=1";'; exit; } // Vérification que l'utilisateur se soit bien identifié if (!isset($_SESSION['authConnexion']) || !$_SESSION['authConnexion']) { session_destroy(); unset($_SESSION); header('Location: index.php?erreur=1'); print ''; exit; } // Vérification que la session n'ait pas été volée if (!isset($_SESSION) || $_SESSION['ip'] == '' || $_SESSION['ip'] != $_SERVER["REMOTE_ADDR"] || $_SESSION['realip'] == '' || $_SESSION['realip'] != realip()) { session_destroy(); unset($_SESSION); header('Location: index.php?erreur=1'); print ''; exit; } // Vérification que le serveur ne soit pas en fase de maintenance if ($_SESSION['auth_level'] < $fermerServeur_auth && ($fermerServeur_timeS < time() || empty($fermerServeur_timeS))) { session_destroy(); unset($_SESSION); header('Location: index.php?erreur=8'); print ''; exit; } // Déconnection automatique au bout de 20 min d'inactivité if (!isset($_SESSION) || $_SESSION['timestamp'] + 1200 < time()) { session_destroy(); unset($_SESSION); header('Location: index.php?erreur=5'); print ''; exit; } /*// Fait patienter l'utilisateur s'il a fait une réquête il y a moins de deux secondes if (!isset($_SESSION['microtimestamp']) || time()+microtime() - $_SESSION['microtimestamp'] < 1.5) { usleep((1.5-(time()+microtime() - $_SESSION['microtimestamp']))*1000000); }*/ // Vérification que la requête proviennent du serveur if (isset($_SERVER['HTTP_REFERER']) && !ereg(time().'http://'.$_SERVER["HTTP_HOST"].'/', time().$_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] != '') { setHistorique('Requête depuis une adresse non officiel', 'Par mesure de sécurité, la requête de '.$_SESSION['id'].' a été annulée car l\'\'adresse de provenance ne correspond pas à celle du site : '.$_SERVER['HTTP_REFERER']); session_destroy(); header('Location: index.php?erreur=4'); print ''; exit; } $_SESSION['timestamp'] = time(); $_SESSION['microtimestamp'] = time()+microtime(); ?>