Example #1
0
 public static function start()
 {
     self::configuration(json_decode(App::config()->file('Sessions.sessions.json')->read(), true));
     if (session_status() == PHP_SESSION_NONE) {
         ini_set('session.cookie_httponly', true);
         //start session
         //set session name
         session_name(self::$_sessionName);
         session_start();
         //generate key
         Session::generate(self::$_userSessionsKey);
         Cookie::generate(self::$_userCookiesKey);
         //check initiated status
         if (intval(Session::get(self::$_initiatedKey)) == 0) {
             //regen
             session_regenerate_id();
             Session::generate(self::$_userSessionsKey);
             Session::set(self::$_initiatedKey, 1);
         }
         //check for corresponding user agent on same session
         if (Session::get(self::$_userAgentKey) !== false) {
             if (Session::get(self::$_userAgentKey) != hash('sha512', $_SERVER['HTTP_USER_AGENT'] . self::$_salt)) {
                 //invalid user agent detected
                 self::destroy();
                 die;
             }
         } else {
             Session::set(self::$_userAgentKey, hash('sha512', $_SERVER['HTTP_USER_AGENT'] . self::$_salt));
         }
     }
 }