From 3ec337db2aa8b41106cd78f1e33cee789db1a6ca Mon Sep 17 00:00:00 2001 From: SofianeLasri <alasri250@gmail.com> Date: Sat, 18 Sep 2021 14:41:17 +0200 Subject: [PATCH] Removed vbcms.net acc manager dependency on login --- vbcms-admin/login.php | 4 +++- vbcms-core/adminHandler.php | 9 ++++++--- vbcms-core/adminPagesAssoc.php | 1 + vbcms-core/sessionHandler.php | 8 ++++++++ 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/vbcms-admin/login.php b/vbcms-admin/login.php index 24f1b97..5860f6e 100644 --- a/vbcms-admin/login.php +++ b/vbcms-admin/login.php @@ -1,5 +1,7 @@ <?php -require_once '../vbcms-core/core.php'; +// On va vérifier si on est appelé par le cms ou par l'url du client +if(!isset($GLOBALS['vbcmsRootPath'])) + require_once '../vbcms-core/core.php'; if (isset($_GET["from"])) { $redirect = urlencode($_GET["from"]); diff --git a/vbcms-core/adminHandler.php b/vbcms-core/adminHandler.php index b1f6faf..02f9cee 100644 --- a/vbcms-core/adminHandler.php +++ b/vbcms-core/adminHandler.php @@ -2,13 +2,16 @@ // Dans un premier temps, on va vérifier que l'utilisateur est connecté // Puis on va vérifier qu'il a bien le droit d'être ici -if (!isset($_SESSION["user_id"])) { // Si l'utilisateur n'est pas connecté +if (!isset($_SESSION["user_id"]) && $urlPath[2]!="login") { // Si l'utilisateur n'est pas connecté // On check que la page actuelle n'est pas la page de login, mais également que le panel n'est pas en train de traiter une connexion if (basename($_SERVER['PHP_SELF'])!="login.php" && !isset($sessionData) && !isset($sessionData['error'])) { // On le renvoie vers la page de connexion - header("Location: https://vbcms.net/manager/login?from=".urlencode("$http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'])); + //header("Location: https://vbcms.net/manager/login?from=".urlencode("$http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'])); // Gestionnaire de licence vbcms.net + header("Location: ".$url["scheme"]."://".$url["host"]."/vbcms-admin/login"); } +} elseif(!isset($_SESSION["user_id"]) && $urlPath[2]=="login"){ // Redirection vers la page de connexion + include $GLOBALS['vbcmsRootPath']."/vbcms-admin/login.php"; } else { // On va vérifier qu'il a accès au panel admin @@ -18,7 +21,7 @@ if (!isset($_SESSION["user_id"])) { // Si l'utilisateur n'est pas connecté } // Le message d'erreur sera à changer, je ne l'ai pas encore fait car je dois refaire le drm - header("Location: https://vbcms.net/manager/?error=".urlencode("Tu n'as pas le droit de te connecter à ce site <img height=\"16\" src=\"https://vbcms.net/vbcms-content/uploads/emoji/oiseau-pas-content.png\">")); + header("Location: ".$url["scheme"]."://".$url["host"]."/vbcms-admin/login?err=403"); exit(); // Pour être sûr qu'il n'y ai pas de problèmes } diff --git a/vbcms-core/adminPagesAssoc.php b/vbcms-core/adminPagesAssoc.php index c466e59..b238ffe 100644 --- a/vbcms-core/adminPagesAssoc.php +++ b/vbcms-core/adminPagesAssoc.php @@ -6,6 +6,7 @@ $adminPagesAssoc["updater"] = "updater.php"; $adminPagesAssoc["test"] = "test.php"; $adminPagesAssoc["404"] = "404.php"; $adminPagesAssoc["debug"] = "debug.php"; +$adminPagesAssoc["login"] = "login.php"; $adminPagesAssoc["backTasks"] = "backTasks.php"; $adminPagesAssoc["workshop"] = "ws-handler.php"; \ No newline at end of file diff --git a/vbcms-core/sessionHandler.php b/vbcms-core/sessionHandler.php index cc61528..f81067e 100644 --- a/vbcms-core/sessionHandler.php +++ b/vbcms-core/sessionHandler.php @@ -1,6 +1,8 @@ <?php session_start(); +/* NOTE 18/09/2021 (création branche pre2.1b) - VBcms ne sera plus dépendant du gestion de licence + if (isset($_GET["session"]) && !empty($_GET["session"])){ // Ici le panel reçoie une requête de connexion via l'id de session unique, communiqué par le manager @@ -87,4 +89,10 @@ if (isset($_GET["session"]) && !empty($_GET["session"])){ // Ne s'éxecutera que si l'utilisateur est déjà connecté session_destroy(); header("Location: ".$url["scheme"]."://".$url["host"]); // On le redirige vers la page de connexion +} */ + +if (isset($_GET["logout"]) && isset($_SESSION["user_id"])){ + // Ne s'éxecutera que si l'utilisateur est déjà connecté + session_destroy(); + header("Location: ".$url["scheme"]."://".$url["host"]); // On le redirige vers la page de connexion } \ No newline at end of file -- GitLab