示例#1
0
 /**
  * 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);
                 }
             }
         }
     }
 }
示例#2
0
 /**
  * @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'));
         }
     }
 }
示例#3
0
 * @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();
}