forked from halo-battle/game
67 lines
2.8 KiB
PHP
67 lines
2.8 KiB
PHP
|
<?php
|
|||
|
//V<>rification pr<70>alable anti-hacking
|
|||
|
if(!defined('INDEX')) { header('Location: ./'); exit; }
|
|||
|
|
|||
|
|
|||
|
// V<>rification que la session soit bien d<>finit et qu'elle ne soit pas vide
|
|||
|
if (!isset($_SESSION) || $_SESSION['id'] == '' || $_SESSION['auth_level'] == '' || $_SESSION['galaxy'] == '' || $_SESSION['ss'] == '' || $_SESSION['pos'] == '') {
|
|||
|
session_destroy();
|
|||
|
unset($_SESSION);
|
|||
|
header('Location: index.php?erreur=1');
|
|||
|
print '<script type="text/javascript">top.location.href="index.php?erreur=1";</script>';
|
|||
|
exit;
|
|||
|
}
|
|||
|
|
|||
|
// V<>rification que l'utilisateur se soit bien identifi<66>
|
|||
|
if (!isset($_SESSION['authConnexion']) || !$_SESSION['authConnexion']) {
|
|||
|
session_destroy();
|
|||
|
unset($_SESSION);
|
|||
|
header('Location: index.php?erreur=1');
|
|||
|
print '<script type="text/javascript">top.location.href="index.php?erreur=1";</script>';
|
|||
|
exit;
|
|||
|
}
|
|||
|
|
|||
|
// V<>rification que la session n'ait pas <20>t<EFBFBD> vol<6F>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 '<script type="text/javascript">top.location.href="index.php?erreur=1";</script>';
|
|||
|
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 '<script type="text/javascript">top.location.href="index.php?erreur=8";</script>';
|
|||
|
exit;
|
|||
|
}
|
|||
|
|
|||
|
// D<>connection automatique au bout de 20 min d'inactivit<69>
|
|||
|
if (!isset($_SESSION) || $_SESSION['timestamp'] + 1200 < time()) {
|
|||
|
session_destroy();
|
|||
|
unset($_SESSION);
|
|||
|
header('Location: index.php?erreur=5');
|
|||
|
print '<script type="text/javascript">top.location.href="index.php?erreur=5";</script>';
|
|||
|
exit;
|
|||
|
}
|
|||
|
|
|||
|
/*// Fait patienter l'utilisateur s'il a fait une r<EFBFBD>qu<EFBFBD>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<71>te proviennent du serveur
|
|||
|
if (isset($_SERVER['HTTP_REFERER']) && !ereg(time().'http://'.$_SERVER["HTTP_HOST"].'/', time().$_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] != '') {
|
|||
|
setHistorique('Requ<71>te depuis une adresse non officiel', 'Par mesure de s<>curit<69>, la requ<71>te de '.$_SESSION['id'].' a <20>t<EFBFBD> annul<75>e car l\'\'adresse de provenance ne correspond pas <20> celle du site : '.$_SERVER['HTTP_REFERER']);
|
|||
|
session_destroy();
|
|||
|
header('Location: index.php?erreur=4');
|
|||
|
print '<script type="text/javascript">top.location.href="index.php?erreur=4";</script>';
|
|||
|
exit;
|
|||
|
}
|
|||
|
|
|||
|
$_SESSION['timestamp'] = time();
|
|||
|
$_SESSION['microtimestamp'] = time()+microtime();
|
|||
|
?>
|