game/securite.php

83 lines
5.1 KiB
PHP

<?php
require('connectBDD.php');
require('fermerServeur.php');
$PUB = '<script type="text/javascript"><!--
google_ad_client = "pub-8183761828268957";
//468x60, date de création 20/11/07
google_ad_slot = "9088855275";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />';
//$HEADER = '<div class="centre" style="position: absolute; z-index: 100;"><table style="margin-left: auto; margin-right: auto; background: #FFCC00;"><tr><td style="background: #FFCC99;"><font color="#FF0000"><b><u>Attention :</u> Mise à jour en cours, certaines pages risquent d\'être inactives ou buggées quelques temps</b></font></td></tr></table></div>';
$HEADER = '';
// 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);
print '<script type="text/javascript">top.location.href="../index.php?erreur=1";</script>';
//header('Location: ../index.php?erreur=1');
exit;
}
// Vérification que l'utilisateur se soit bien identifié
if (!isset($_SESSION['authConnexion']) || !$_SESSION['authConnexion']) {
session_destroy();
unset($_SESSION);
print '<script type="text/javascript">top.location.href="../index.php?erreur=1";</script>';
//header('Location: ../index.php?erreur=1');
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);
print '<script type="text/javascript">top.location.href="../index.php?erreur=1";</script>';
//header('Location: ../index.php?erreur=1');
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)))
print '<script type="text/javascript">top.location.href="../index.php?erreur=8";</script>';
elseif (($fermerServeur_timeS < time() || empty($fermerServeur_timeS)) && ($fermerServeur_timeE > time() || empty($fermerServeur_timeE))) {
//Début de maintenance
$HEADER .= '<div class="centre" style="position: absolute; z-index: 100;"><table style="margin-left: auto; margin-right: auto; background: #FFCC00;"><tr><td style="background: #FFCC99;"><font color="#FF0000"><b><u>Serveur en maintenance :</u> Le serveur est actuellement dans une phase de mise à jour. Certaines pages risquent d\'être inactives ou buggées quelques temps</b></font> Réouverture dans '.($fermerServeur_timeE-time()).' secondes</td></tr></table></div>';
//Fin de maintenance
//$HEADER .= '<div class="centre" style="position: absolute; z-index: 100;"><table style="margin-left: auto; margin-right: auto; background: #FFCC00;"><tr><td style="background: #FFCC99;"><font color="#FF0000"><b><u>Serveur en maintenance :</u> Le transfert et l\'activation des améliorations a été effectué, veuillez rapporter tout bug dans la section spéciale du forum.<br />Lorsque ce message disparaîtra, les joueurs pourront de nouveau se logger.</b></font> Réouverture dans '.($fermerServeur_timeE-time()).' secondes</td></tr></table></div>';
}
// Déconnection automatique au bout de 20 min d'inactivité
if (!isset($_SESSION) || $_SESSION['timestamp'] + 1200 < time()) {
session_destroy();
unset($_SESSION);
print '<script type="text/javascript">top.location.href="../index.php?erreur=5";</script>';
//header('Location: ../index.php?erreur=5');
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'])) $_SERVER['HTTP_REFERER'] = '';
if (!ereg(time().'http://127.0.0.1/', time().$_SERVER['HTTP_REFERER']) && !ereg(time().'http://confrerienoire.no-ip.org/', time().$_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] != '') {
//if (!ereg(time().'http://battle.halo.fr/', time().$_SERVER['HTTP_REFERER']) && !ereg(time().'http://www.battle.halo.fr/', time().$_SERVER['HTTP_REFERER']) && !ereg(time().'http://www.halo2.fr/', time().$_SERVER['HTTP_REFERER']) && !ereg(time().'http://ligue.halo.fr/', time().$_SERVER['HTTP_REFERER']) && !ereg(time().'http://halo-game.com/', 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();
print '<script type="text/javascript">top.location.href="../index.php?erreur=4";</script>';
//header('Location: ../index.php?erreur=4');
exit;
}
$_SESSION['timestamp'] = time();
$_SESSION['microtimestamp'] = time()+microtime();
mysql_close();
?>