Actualiser include/session_check.php
This commit is contained in:
@@ -1,11 +1,28 @@
|
|||||||
<?php
|
<?php
|
||||||
$timeout = 900; // 15 minutes en secondes
|
$timeout = 900; // 15 minutes
|
||||||
|
|
||||||
|
$usersFile = __DIR__ . '/../users.json';
|
||||||
|
$users = file_exists($usersFile) ? json_decode(file_get_contents($usersFile), true) : [];
|
||||||
|
|
||||||
|
// Vérifier si connecté
|
||||||
if (!isset($_SESSION['user'])) {
|
if (!isset($_SESSION['user'])) {
|
||||||
header("Location: login.php");
|
header("Location: login.php");
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Vérifier si l'utilisateur existe toujours dans users.json
|
||||||
|
if (!isset($users[$_SESSION['user']])) {
|
||||||
|
session_destroy();
|
||||||
|
header("Location: login.php?timeout=1");
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Vérifier si le rôle en session correspond toujours au rôle dans users.json
|
||||||
|
if ($_SESSION['role'] !== $users[$_SESSION['user']]['role']) {
|
||||||
|
$_SESSION['role'] = $users[$_SESSION['user']]['role'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Vérifier l'inactivité
|
||||||
if (isset($_SESSION['last_activity'])) {
|
if (isset($_SESSION['last_activity'])) {
|
||||||
$inactif = time() - $_SESSION['last_activity'];
|
$inactif = time() - $_SESSION['last_activity'];
|
||||||
if ($inactif > $timeout) {
|
if ($inactif > $timeout) {
|
||||||
|
|||||||
Reference in New Issue
Block a user