38 lines
1.4 KiB
PHP
38 lines
1.4 KiB
PHP
<?php
|
|
require('connectBDD.php');
|
|
// 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');
|
|
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');
|
|
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');
|
|
exit;
|
|
}
|
|
|
|
// Vérification que la requête proviennent du serveur
|
|
if (!isset($_SERVER['HTTP_REFERER'])) $_SERVER['HTTP_REFERER'] = '';
|
|
if (!ereg(time().'http://battle.halo.fr/', 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');
|
|
exit;
|
|
}
|
|
|
|
$_SESSION['timestamp'] = time();
|
|
mysql_close();
|
|
?>
|