What are the best practices for ensuring session security in PHP?

To ensure session security in PHP, it is important to use secure session handling techniques such as using HTTPS, setting secure session cookies, regenerating session IDs, and properly validating and sanitizing session data.

// Start a secure session
session_set_cookie_params([
    'secure' => true, // Only send cookies over HTTPS
    'httponly' => true, // Prevent JavaScript access to session cookies
]);
session_start();

// Regenerate session ID to prevent session fixation attacks
session_regenerate_id(true);

// Validate and sanitize session data before using it
if(isset($_SESSION['user_id'])){
    $user_id = filter_var($_SESSION['user_id'], FILTER_SANITIZE_NUMBER_INT);
}