get('session_write_interval', 180); parent::__construct('_sf2_meta', $update_threshold); } /** * Set the CSRF token seed. * * @param string $csrf_token_seed * The per-session CSRF token seed. */ public function setCsrfTokenSeed($csrf_token_seed) { $this->meta[static::CSRF_TOKEN_SEED] = $csrf_token_seed; } /** * Get the CSRF token seed. * * @return string|null * The per-session CSRF token seed or null when no value is set. */ public function getCsrfTokenSeed() { if (isset($this->meta[static::CSRF_TOKEN_SEED])) { return $this->meta[static::CSRF_TOKEN_SEED]; } } /** * {@inheritdoc} */ public function stampNew($lifetime = NULL): void { parent::stampNew($lifetime); // Set the token seed immediately to avoid a race condition between two // simultaneous requests without a seed. $this->setCsrfTokenSeed(Crypt::randomBytesBase64()); } }