/** * Returns wether the user is logged in or not. * * @return boolean * True if logged in, else false. */ public function check_login() { if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) { $pw_hash = new PasswordHash(); if ($this->access_config->user_exists($_SERVER['PHP_AUTH_USER'])) { $user = $this->access_config->user_get($_SERVER['PHP_AUTH_USER']); if ($pw_hash->check_password($_SERVER['PHP_AUTH_PW'], $user['password'])) { self::$session->set('username', $_SERVER['PHP_AUTH_USER']); // This is for now the only position where we write, so we can close the session for write operations. // This will speed up the performance. self::$session->close_write(); $this->user = $this->get_config()->user_get(self::$session->get('username')); return true; } } } if (self::$session->get('username') != 0) { $this->user = $this->get_config()->user_get(self::$session->get('username')); return true; } header('WWW-Authenticate: Basic realm="PHPMiner "'); header('HTTP/1.0 401 Unauthorized'); }
/** * New page * * New page description * * @access public * @param none * @return redirect * @route n/a */ function verify_password($password, $user_id) { $query = $this->CI->db->where(array('user_id' => $user_id))->get($this->user_table); if ($query->num_rows() > 0) { $user_data = $query->row_array(); $hasher = new PasswordHash(); if ($hasher->check_password($password, $user_data['user_pass'])) { return TRUE; } else { return FALSE; } } else { return FALSE; } }