require_once("externos.php"); $site_path = substr($_SERVER['PHP_SELF'], 0, strpos($_SERVER['PHP_SELF'], 'index.php')); $p = substr($_SERVER['REQUEST_URI'], strlen($site_path)); $p = trim($p, "/"); $p = str_replace("?", "//?", $p); $_PARAMS = explode("/", $p); //Solo si ingresa por la raiz if ($_PARAMS[0] == "") { if (isset($_SESSION['SEG_TOKEN']) === true) { session_destroy(); header("location: $site_path"); exit(0); } $token = MakeToken(22); $_SESSION['SEG_TOKEN'] = $token; $_SESSION['IMG_PERFIL_TOKEN'] = MakeToken(22); $_SESSION['configuracion'] = []; //$menu = "inicio"; //$accion = "ver"; $menu = "iniciar-sesion"; $accion = "ver"; $url = $site_path . $token . "/$menu/$accion/"; header("location: $url"); exit(0); } if (isset($_SESSION['tiempo_ultima_actividad'])) { if (time() - $_SESSION['tiempo_ultima_actividad'] > TIEMPO_MAXIMO_SESION + 10) { session_destroy(); header("location: $site_path"); //echo "Error (1)"; exit(0); } } //Si no tiene estructura validad TOKEN/MENU/ACCION if (count($_PARAMS) < 3) { echo "Error (2)"; exit(0); } if (isset($_SESSION['SEG_TOKEN']) === false || $_SESSION['SEG_TOKEN'] !== $_PARAMS[0]) { header("location: $site_path"); //echo "Error (3)"; exit(0); } //Forzar cambio de clave si esta vencida $menus_permitidos = ["foto-perfil", "iniciar-sesion", "cambiar-mi-clave", 'cerrar-sesion']; if (isset($_SESSION['clave_vencida']) && $_SESSION['clave_vencida'] == "1" && in_array($_PARAMS[1], $menus_permitidos) === false) { $_PARAMS[1] = "cambiar-mi-clave"; $_PARAMS[2] = "ver"; } define("PUBLIC_PATH", $site_path . "publico/"); define("SITE_PATH", $site_path . $_PARAMS[0] . "/"); define("PATH_ROOT", __DIR__); define("MENU", $_PARAMS[1]); define("ACCION", $_PARAMS[2]); define("MENU_ACCION", "$_PARAMS[1]/$_PARAMS[2]"); define("PAGE_PATH", SITE_PATH . MENU . "/"); define("SEG_TOKEN", $_SESSION['SEG_TOKEN']); //unset($_PARAMS[0]); //Quitar el TOKEN de los parametros //unset($_PARAMS[1]); //Quitar el id del menu //unset($_PARAMS[2]); //Quitar el id de la accion //echo $site_path . "

"; //print_r($_PARAMS); //echo MENU . "---" . ACCION . "-----" . PUBLIC_PATH; $Menu = new Menu("menu.xml"); //$Menu = new Menu("menu-ryc.xml"); //$Menu = new Menu("menu-nomina.xml"); $Menu->Cargar(); $MenuInfo = $Menu->GetMenuInfo(MENU, ACCION); switch ($MenuInfo["tipo-respuesta"]) { case "pagina": require("pagina.php"); break; case "html": case "json": case "descarga": require("descarga.php"); break; } //require ('pagina.php'); //Actualizar fecha y hora de la ultima actividad en la sesión activa if (isset($_SESSION['sesion_id'])) { $sql = "UPDATE u185399531_wp2.admin_sesion SET fin=NOW() WHERE id='$_SESSION[sesion_id]'"; $db->query($sql); } $_SESSION['tiempo_ultima_actividad'] = time();