V10.1 stable avec correction securité,bug sur csrf dans index
This commit is contained in:
1 parent
e9d0010451
commit
21f34c64c9
11 files changed
+1136
-445
No files matched your search
@@ -1,26 +1,38 @@
|
||||
<?php
|
||||
// admin/tools/retour_admin.php
|
||||
declare(strict_types=1);
|
||||
declare (strict_types = 1);
|
||||
|
||||
if (session_status() !== PHP_SESSION_ACTIVE) {
|
||||
@session_start();
|
||||
}
|
||||
|
||||
// On ne met pas require_login_or_redirect ici, car on peut être sous un compte client/praticien
|
||||
// On se contente de vérifier qu'on a bien une info d’admin d’origine.
|
||||
if (!empty($_SESSION['admin_impersonate']) && is_array($_SESSION['admin_impersonate'])) {
|
||||
// On ne met pas require_login_or_redirect ici,
|
||||
// car on peut être sous un compte client/praticien.
|
||||
// On vérifie seulement qu'on a bien l'admin d'origine.
|
||||
if (! empty($_SESSION['admin_impersonate']) && is_array($_SESSION['admin_impersonate'])) {
|
||||
$orig = $_SESSION['admin_impersonate'];
|
||||
|
||||
if (isset($orig['admin_user_id'])) {
|
||||
$_SESSION['user_id'] = $orig['admin_user_id'];
|
||||
session_regenerate_id(true);
|
||||
|
||||
unset(
|
||||
$_SESSION['client_id'],
|
||||
$_SESSION['praticien_id'],
|
||||
$_SESSION['secretaire_id'],
|
||||
$_SESSION['admin_id'],
|
||||
);
|
||||
|
||||
if (isset($orig['admin_compte_id'])) {
|
||||
$_SESSION['compte_id'] = (int) $orig['admin_compte_id'];
|
||||
}
|
||||
if (isset($orig['admin_reference_id'])) {
|
||||
$_SESSION['reference_id'] = $orig['admin_reference_id'];
|
||||
$_SESSION['reference_id'] = (int) $orig['admin_reference_id'];
|
||||
}
|
||||
if (isset($orig['admin_role'])) {
|
||||
$_SESSION['role'] = $orig['admin_role'];
|
||||
$_SESSION['role'] = (string) $orig['admin_role'];
|
||||
}
|
||||
|
||||
$_SESSION['last_activity'] = time();
|
||||
|
||||
unset($_SESSION['admin_impersonate']);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user