What security considerations should be taken into account when working with session variables in PHP?

When working with session variables in PHP, it is important to consider security measures to prevent session hijacking or session fixation attacks. One way to enhance security is by regenerating the session ID periodically or after certain actions to prevent session fixation. Additionally, it is crucial to validate and sanitize session data to prevent injection attacks.

// Regenerate session ID periodically
if (isset($_SESSION['last_regenerated']) && (time() - $_SESSION['last_regenerated']) > 30) {
    session_regenerate_id(true);
    $_SESSION['last_regenerated'] = time();
}

// Validate and sanitize session data
$_SESSION['user_id'] = filter_var($_SESSION['user_id'], FILTER_VALIDATE_INT);