/** * Authentification sur la page de login * @param $create * @param bool $debug */ private function getAuth($create, $debug = false) { $token = isset($_SESSION['mc_auth_token']) ? $_SESSION['mc_auth_token'] : filter_rsa::tokenID(); $tokentools = self::hashPassCreate($token); $create->assign('hashpass', $tokentools); if (isset($this->email_admin) and isset($this->passwd_admin)) { $firebug = new debug_firephp(); if (strcasecmp($this->hashtoken, $tokentools) == 0) { if ($debug == true) { $firebug->group('tokentest'); if ($this->hashtoken) { if (strcasecmp($this->hashtoken, $tokentools) == 0) { $firebug->log('session compatible'); } else { $firebug->error('session incompatible'); } } $firebug->log($_SESSION); $firebug->groupEnd(); } $auth_exist = parent::s_auth_exist($this->email_admin, $this->passwd_admin); if (count($auth_exist['idadmin']) == true) { $data = parent::s_data_session($auth_exist['keyuniqid_admin']); $session = new http_session(); $language = new backend_model_language(); $session->start('mc_adminlang'); $sessionUtils = new admin_model_sessionUtils(); if (!isset($_SESSION['email_admin']) and !isset($_SESSION['keyuniqid_admin'])) { $sessionUtils->openSession($data['idadmin'], session_regenerate_id(true), $data['keyuniqid_admin']); $array_sess = array('id_admin' => $data['idadmin'], 'email_admin' => $data['email_admin'], 'keyuniqid_admin' => $data['keyuniqid_admin'], 'language_admin' => $language->run()); $session->run($array_sess, $language->run()); if ($debug == true) { $firebug = new debug_firephp(); $firebug->group('adminsession'); $firebug->dump('User session', $_SESSION); $firebug->log($session->ip()); $firebug->groupEnd(); } admin_model_redirect::login(false); } else { $sessionUtils->openSession($data['idadmin'], null, $data['keyuniqid_admin']); $array_sess = array('email_admin' => $data['email_admin'], 'keyuniqid_admin' => $data['keyuniqid_admin']); $language = new admin_model_language(); $session->run($array_sess, $language->run()); if ($debug == true) { $firebug = new debug_firephp(); $firebug->group('adminsession'); $firebug->dump('User session', $_SESSION); $firebug->log($session->ip()); $firebug->groupEnd(); } admin_model_redirect::login(false); } } } } }
/** * @access private * Vérification de la session pour accèder à l'administration * @param bool $debug */ private function authSession($debug = false) { //Language model init class $language = new backend_model_language(); $language->run(); $token = isset($_SESSION['mc_auth_token']) ? $_SESSION['mc_auth_token'] : magixglobal_model_cryptrsa::tokenId(); $tokentools = $this->hashPassCreate($token); backend_controller_template::assign('hashpass', $tokentools); if (isset($this->email_admin) and isset($this->passwd_admin) and isset($this->hashtoken)) { if (strcasecmp($this->hashtoken, $tokentools) == 0) { if ($debug == true) { $firebug = new magixcjquery_debug_magixfire(); $firebug->magixFireGroup('tokentest'); if ($this->hashtoken) { if (strcasecmp($this->hashtoken, $tokentools) == 0) { $firebug->magixFireLog('session compatible'); } else { $firebug->magixFireError('session incompatible'); } } $firebug->magixFireLog($_SESSION); $firebug->magixFireGroupEnd(); } $auth_exist = parent::s_auth_exist($this->email_admin, $this->passwd_admin); if (count($auth_exist['id_admin']) == true) { $session = new backend_model_sessions(); $lang = new backend_model_language(); $string = $_SERVER['HTTP_USER_AGENT']; $string .= 'SHIFLETT'; /* Add any other data that is consistent */ $fingerprint = md5($string); //Fermeture de la première session, ses données sont sauvegardées. session_write_close(); $this->start_session(); $data = parent::s_data_session($auth_exist['keyuniqid_admin']); if (!isset($_SESSION['email_admin']) and !isset($_SESSION['keyuniqid_admin'])) { $lang = new backend_model_language(); $session->openSession($data['id_admin'], session_regenerate_id(true), $data['keyuniqid_admin']); //session_regenerate_id(true); $_SESSION['id_admin'] = $data['id_admin']; $_SESSION['email_admin'] = $data['email_admin']; $_SESSION['keyuniqid_admin'] = $data['keyuniqid_admin']; $_SESSION['adminLanguage'] = $lang->run(); if ($debug == true) { $firebug = new magixcjquery_debug_magixfire(); $firebug->magixFireGroup('adminsession'); $firebug->magixFireDump('User session', $_SESSION); $firebug->magixFireGroupEnd(); } magixglobal_model_redirect::backend_redirect_login(false); } else { $session->openSession($data['id_admin'], null, $data['keyuniqid_admin']); $_SESSION['id_admin'] = $data['id_admin']; $_SESSION['email_admin'] = $data['email_admin']; $_SESSION['keyuniqid_admin'] = $data['keyuniqid_admin']; $_SESSION['adminLanguage'] = $lang->run(); if ($debug == true) { $firebug = new magixcjquery_debug_magixfire(); $firebug->magixFireGroup('adminsession'); $firebug->magixFireDump('User session', $_SESSION); $firebug->magixFireGroupEnd(); } magixglobal_model_redirect::backend_redirect_login(false); } } else { $this->message->getNotify('error_login', array('method' => 'fetch', 'assignFetch' => 'login_message')); } } else { $this->message->getNotify('error_hash', array('method' => 'fetch', 'assignFetch' => 'login_message')); } } }
* @license Dual licensed under the MIT or GPL Version 3 licenses. * @version 1.3 * @author Gérits Aurélien <*****@*****.**> * @name dashboard * */ /** * Charge toutes les Classes de l'application */ $baseadmin = 'baseadmin.php'; if (file_exists($baseadmin)) { require $baseadmin; if (!defined('PATHADMIN')) { throw new Exception('PATHADMIN is not defined'); } } require '../lib/mcbackend.php'; /** * Autoload Frontend */ $members = new backend_controller_login(); $members->securePage(); $members->closeSession(); if (magixcjquery_filter_request::isSession('keyuniqid_admin')) { //Language model init class $language = new backend_model_language(); $language->run(); backend_controller_config::load_attribute_config(); $ini = new backend_controller_dashboard(); $ini->run(); }