self::$tokenExpiration) { self::clearToken(); return false; } return self::validateToken($token, $storedToken); } return false; } return true; } public static function generateAndStoreToken() { $token = self::generateToken(); $_SESSION['csrf_token'] = $token; $_SESSION['csrf_token_time'] = time(); return $token; } public static function clearToken() { unset($_SESSION['csrf_token'], $_SESSION['csrf_token_time']); } }