f3 = \Base::instance(); $keepSessionInDb = $this->f3->get('KEEP_SESSION_IN_DB') ?? null; if (!$this->connectToDb($keepSessionInDb)) { $this->f3->error(404); } //Determine current user $currentOperator = $this->getLoggedInOperator(); $this->f3->set('CURRENT_USER', $currentOperator); //Set CSRF token //$rnd = mt_rand(); //$this->f3->CSRF = sprintf('%s.%s', $this->f3->SEED, $this->f3->hash($rnd)); } /** * @todo This is only used at one place. We should remove or generalise it. */ public function validateCsrfToken(): int|bool { $csrf = $this->f3->get('SESSION.csrf'); $token = $this->f3->get('REQUEST.token'); if (!isset($token) || $token === '' || !isset($csrf) || $csrf === '' || $token !== $csrf) { return \Utils\ErrorCodes::CSRF_ATTACK_DETECTED; } return false; } }