game/securite.php

32 lines
1.3 KiB
PHP
Raw Normal View History

2007-11-04 11:00:00 +00:00
<?php
// V<>rification que la session soit bien d<>finit et qu'elle ne soit pas vide
if (!isset($_SESSION) || $_SESSION['id'] == '' || $_SESSION['galaxy'] == '' || $_SESSION['ss'] == '' || $_SESSION['pos'] == '') {
header('Location: ../index.php?erreur=1');
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');
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');
exit;
}
// V<>rification que la requ<71>te proviennent du serveur
if (!isset($_SERVER['HTTP_REFERER'])) $_SERVER['HTTP_REFERER'] = '';
if (!ereg(time().'http://127.0.0.1/', time().$_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');
exit;
}
?>